Вниз
Скачать: CL | DM;

Удержание кнопки мыши и кнопки...   Найти похожие ветки 

 
MTsv DN   (2005-11-22 09:49) [0]

Привет...

Сразу прошу Модератора не перекидывать тему в WinAPI, т.к. там уже есть такая...

А вопрос такой... Мне нужно разделить работу, при нажатии на левую кнопку мыши...
В первом случае: обычный клик (WM_LBUTTONDOWN + WM_LBUTTONUP) -> Процедура 1...
Во втором случае: нажатие + удержание (WM_LBUTTONDOWN + ???????) -> Процедура 2...

Как это реализовать...

С Уважением MTsv DN


 
Thaddy   (2005-11-22 11:32) [1]

The " ugly" easy way is to use an assignable typed constant as a flag and reset it after use. The better way is to write a helper object that catches the mouse and keyboard events and handles them. you need to catch both the mouse AND the keyboard events, so two distinctly different things. It is not difficult btw. Use OnMessage for example


 
SPeller ©   (2005-11-22 12:45) [2]

Первое что приходит в голову - по сообщению BUTTONDOWN выставляешь флаг, например, fLButtonPressed := true; а на обработчике LBUTTONUP или ????? смотришь на этот флаг, если Да, то обрабатываешь, если Нет, то ничего не делаешь. А после обработки ставишь его в false. Понятно изложил мысль? )


 
MTsv DN   (2005-11-22 12:54) [3]

Привет...

Это то понятно, но как быть с кликом... Т.е. неправильно выразился, как выделить удержание?..

В общем смысл такой: делаю свой скроллбар... У стандартного на кнопку вниз нажал - сработало (WM_VSCROLL, SB_LINEDOWN), а удерживаешь (WM_VSCROLL, SB_PAGEDOWN)

С Уважением MTsv DN


 
-=Mike=-   (2005-11-22 16:12) [4]

а если таймер запустить в WM_LBUTTONDOWN и по его истечении если не было WM_LBUTTONUP начать крутить


 
MTsv DN   (2005-11-22 19:02) [5]

> а если таймер запустить в WM_LBUTTONDOWN и по его истечении если не было WM_LBUTTONUP начать крутить
Да... Именно так и сделал...

С Уважением MTsv DN


 
Vladimir Kladov   (2005-11-22 19:03) [6]

SetCapture, OnMouseUp->ReleaseCapture



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
1-1154875143
ancot
2006-08-06 18:39
2006.09.17
Как правильно зарегистрировать наследника TFrame


1-1155031797
.ruslan
2006-08-08 14:09
2006.09.17
TImage поверх всех компонентов или TPanel прозрачен


1-1154671478
Alekcvp
2006-08-04 10:04
2006.09.17
"Мои Документы" и TSaveDialog


2-1156719425
GoodMan
2006-08-28 02:57
2006.09.17
Как достать файл из памяти


15-1156934222
1519
2006-08-30 14:37
2006.09.17
Простой компьютера.




   Наверх