Frequently Asked Questions
How can I easily move a Window control at runtime?
Question:
How can I easily move a Window control at runtime?
Answer:
The following example shows how to move a window control at runtime
by holding down the control key and clicking the left mouse button.
This method will not work with non-window controls such as TLabel
components.
Example:
procedure TForm1.Button1MouseDown(Sender: TObject; Button:
TMouseButton; Shift: TShiftState; X, Y: Integer);
{$IFNDEF WIN32}
var
pt : TPoint;
{$ENDIF}
begin
if ssCtrl in Shift then begin
ReleaseCapture;
SendMessage(Button1.Handle, WM_SYSCOMMAND, 61458, 0);
{$IFNDEF WIN32}
GetCursorPos(pt);
SendMessage(Button1.Handle,
WM_LBUTTONUP,
MK_CONTROL,
Longint(pt));
{$ENDIF}
end;
end;