Главная страница | назад





Article #15896: How can I easily move a Window control at runtime?

 Question and Answer Database

FAQ896D.txt   How can I easily move a Window control at runtime?
Category   :Object Pascal
Platform    :All
Product    :All 32 bit  

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;

7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99