Нижеприведенный пример показывает как перемещать компонент при перетаскивании его нажатой левой кнопкой мыши при нажатом Ctrl.
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; |
[001812]