mit
Code: Alles auswählen
if Button=mbLeft then begin
ReleaseCapture;
self.Perform(WM_NCLBUTTONDOWN,HTcaption,0);
end;

da hält der compiler bei relasecapture an

Code: Alles auswählen
if Button=mbLeft then begin
ReleaseCapture;
self.Perform(WM_NCLBUTTONDOWN,HTcaption,0);
end;
Code: Alles auswählen
var
Form1: TForm1;
MousePress: boolean;
verschiebey,verschiebex : integer;
implementation
{ TForm1 }
procedure TForm1.Panel2MouseDown(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
{ Form1.Left:=Mouse.CursorPos.X-10;
Form1.Top:=Mouse.CursorPos.Y-10; }
MousePress:=true;
verschiebey := y;
verschiebex :=x;
end;
procedure TForm1.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if MousePress=True then
begin
Form1.Left:=Mouse.CursorPos.X - verschiebex;
Form1.Top:=Mouse.CursorPos.Y - verschiebey;
label3.Caption := inttostr(x);
label2.Caption := inttostr(y);
end;
end;
procedure TForm1.Panel2MouseUp(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MousePress:=False;
end;
Code: Alles auswählen
procedure TForm1.Panel2MouseDown(Sender: TOBject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MousePress:=true;
verschiebey := Mouse.CursorPos.Y-Top;
verschiebex :=Mouse.CursorPos.X-Left;
end;
Ja, schon klar, nur stimmt dein Code nicht unbedingt. Das hängt davon ab, wo das Panel sich relativ zum Parent (Form) befindet.hanibal hat geschrieben: die beiden variablen verschiebenx und verschiebeny geben an, wo sich die maus auf dem panel befinddet.