Перемещение формы не за заголовок. Вариант 2

Я нашел более компактный способ перемещения формы не за заголовок. При этом можно обойтись обработкой только события OnMouseDown. Перетаскивать форму можно за любой элемент, который находится на ней. Для этого создайте обработчик OnMouseDown для элементов, за которые хотите перетаскивать форму (и/или для самой формы). Вот пример для Panel:

procedure TForm1.PanelMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);
const
SC_DRAGMOVE : Longint = $F012;
begin
if Button <> mbRight then
begin
ReleaseCapture;
SendMessage(Handle, WM_SYSCOMMAND, SC_DRAGMOVE, 0);
end;
end.

 
« Предыдущая статья   Следующая статья »