![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как отследить click за пределами формы
TheOwl © (2013-12-09 11:52:00)нажимаю левую клавишу мыши (MouseDown) и не отпуская, тяну курсор за пределы формы, потом возвращаюсь обратно на форму. Нужно как-то проверить, был ли MouseUp за пределами формы.
Dimka Maslov (2013-12-10 16:33:00) [1]До тех пока пользоваель тянет курсор окну посылаются сообщения MouseMove c флагом, что кнопка нажата. Как только пользователь отжимает кнопку, окну даётся MouseLeave и сообщения MouseMove перестают посылаться.
Германн (2013-12-09 13:21:00) [2]
> TheOwl (09.12.13 12:40) [3]
>
> уже разобрался, GetAsyncKeyState(VK_LBUTTON)
>
Решение не соответствует условию осталась ли нажатой кнопка. Кнопка могла быть много раз отпущена и снова нажата.
TheOwl (2013-12-09 12:40:00) [3]уже разобрался, GetAsyncKeyState(VK_LBUTTON)
MBo (2013-12-09 12:35:00) [4]SetCapture
Однако стоит пояснить реальную задачу.
TheOwl (2013-12-09 12:21:00) [5]Задача: пользователь нажимает левой кнопкой на элементе в форме (и не отпускает). Устанавливается некий флаг. Потом тянет курсор мыши за пределы формы. Дольше возвращает курсор в область контрола. В событии OnMouseEnter нужно проверить, осталась ли нажатой кнопка левая кнопка мыщи, если не нажата - сбросить флаг.