![]() |
![]() ![]() ![]() ![]() |
|
Как перемещать форму за меткуDelphi , Синтаксис , Drag and Drop
Автор: TAPAKAH
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
SC_DragMove = $F012; { a magic number }
begin
ReleaseCapture;
Form1.perform(WM_SysCommand, SC_DragMove, 0);
end;
Интересный вопрос! Код, который вы предоставили, - это обработчик события Вот разбивка того, что код делает:
Когда вы кликните и удержите кнопку на метке, этот код будет выполняться, который освобождает любое предыдущее захватывание (если оно было) и отправляет команду перетаскивания системе. Это позволяет пользователю перетаскивать форму, перемещая мышь в то время, как удерживает кнопку вниз. Возможной альтернативой является использование встроенной свойства Вот пример:
В этом подходе вам не нужно обрабатывать событие Обратите внимание, что оба подхода имеют свои преимущества и недостатки, и выбор ultimately depends on your specific requirements and design goals. В статье описывается процедура перемещения формы за метку в приложении Delphi, используя событие нажатия на метку и вызов функции ReleaseCapture и WM_SysCommand. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Drag and Drop ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||