Перемещение формы не за заголовок
Страница 3. Перетаскивание формы, удерживая компонент 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;
 
« Предыдущая статья   Следующая статья »