Перемещение формы не за заголовок - Перетаскивание формы, удерживая компонент Label

ОГЛАВЛЕНИЕ

 

Перетаскивание формы, удерживая компонент Label

Если вы хотите переместить форму, удерживая ее мышью, воспользуйтесь приведенным ниже кодом (при необходимости перетаскивания формы, удерживая ее за другие визуальные элементы управления, например, Label, используйте этот код в их соответствующих обработчиках события):

face="Courier New" size="2"> var

X1, Y1: Integer;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
{Устанавливаем координаты старта}
X1 := X;
Y1 := Y;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
{Проверяем нажатие левой кнопки мыши}
if HiWord(GetAsyncKeyState(VK_LBUTTON)) > 0 then
begin
Form1.Left := Form1.Left + X - X1;
Form1.Top := Form1.Top + Y - Y1;
end;
end;