Jak przesuwać formę jeżeli BorderStyle bsNone
Musisz pierw zadeklarować dwie zmienne globanle:
Teraz wygeneruj procedury: OnMouseDown, OnMouseMove, OnMouseUp. Procedury te powinny wyglądać tak:
Teraz wygeneruj procedury: OnMouseDown, OnMouseMove, OnMouseUp. Procedury te powinny wyglądać tak:
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := True;
P := Point(X, Y);
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if MD then
begin
Left := Left + (X - P.X);
Top := Top + (Y - P.Y);
end;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := False;
end;
Shift: TShiftState; X, Y: Integer);
begin
MD := True;
P := Point(X, Y);
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if MD then
begin
Left := Left + (X - P.X);
Top := Top + (Y - P.Y);
end;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
MD := False;
end;



Lepiej dać tak:
W sekcji PRIVATE:
i uzupełniamy:
BEGIN
INHERITED;
IF Msg.Result = HTCLIENT THEN
Msg.Result := HTCAPTION;
END;
wkleic w OnMouseDown formy
if Button = mbLeft then
begin
ReleaseCapture;
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);
end;
pozdrawiam