1、通过控件,适合局部区域移动
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Windows.ReleaseCapture;
Perform(WM_SYSCOMMAND, SC_MOVE + 1, 0);
end;
2、通过处理窗口消息,适合整体窗口移动
procedure TTestForm.WMNCHitTest(var Msg: TWMNCHitTest);
function CanDoDrag(const APos: TPoint): Boolean;
begin
Result := (APos.Y < 52);
end;
var
procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Windows.ReleaseCapture;
Perform(WM_SYSCOMMAND, SC_MOVE + 1, 0);
end;
2、通过处理窗口消息,适合整体窗口移动
procedure TTestForm.WMNCHitTest(var Msg: TWMNCHitTest);
function CanDoDrag(const APos: TPoint): Boolean;
begin
Result := (APos.Y < 52);
end;
var