przesuwanie buttonów

0

do przesuwania buttonow uzywam takiej procedury:
procedure TForm1.Button1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
poz, poz2: TPoint;
begin
if ssLeft in Shift then
begin
GetCursorPos(poz2);
Button1.Left:=Button1.Left+(poz2.X-poz.X);
Button1.Top:=Button1.Top+(poz2.Y-poz.Y);
GetCursorPos(poz);
end;
end;
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
GetCursorPos(poz);
end;
co zrobić, aby nie przesuwać przycisku o jeden pixel, a na przyklad o osiem pixeli?

0

Button1.Left:=8 * Button1.Left+(poz2.X-poz.X);
Button1.Top:=8 * Button1.Top+(poz2.Y-poz.Y);

0

Button1.Left:=Button1.Left+((poz2.X-poz.X) div 8 * 8);
albo
Button1.Left:=Button1.Left+((poz2.X-poz.X) shr 3 shl3);
albo
Button1.Left:=Button1.Left+((poz2.X-poz.X) and $FFFC);

1 użytkowników online, w tym zalogowanych: 0, gości: 1