Hallo,
ich meine das eher so wie man das auch in der Delphi
IDE machen kann.
hier mein code, den ich so aus dem Internet übernommen habe (von den Schweizern):
und da will ich jetzt sowas einbauen, dass ich die Komponenten nicht pixelweise verschiebe, sondern immer gleich um 8 Pixel. Wie in Delphi halt auch.
Delphi-Quellcode:
type
TMoveCracker = class(TControl);
procedure TForm1.ControlMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
FDownX := X;
FDownY := Y;
FDragging := True;
TMoveCracker(Sender).MouseCapture := True;
end;
procedure TForm1.ControlMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if FDragging then
with Sender as TControl do
begin
Left := X - FDownX + Left;
Top := Y - FDownY + Top;
end;
end;
procedure TForm1.ControlMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if FDragging then
begin
FDragging := False;
TMoveCracker(Sender).MouseCapture := False;
end;
end;