Ohne grosse Umrechnungen der Mausposition usw. geht es in dem man ein Panel benutzt.
Also, lege ein Panel auf die Form und in dieses kommt ein Image. Beim Panel noch
AutoSize auf
True stellen.
Delphi-Quellcode:
const
SC_DRAGMOVE = $F012;
procedure TForm1.FormCreate(Sender: TObject);
begin
DoubleBuffered := True; // wird das Flackern nicht 100% beseitigen aber verbessern
end;
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Shift = [ssLeft] then // ist linke Maustaste gedrücht, dann...
begin
ReleaseCapture; // "Maus an akt. Form binden"
Panel1.Perform(WM_SYSCOMMAND, SC_DRAGMOVE, 0); // Panel verschieben
end;
end;