Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

PopupMenu - BUTTONDOWN - ?

513
28 августа 2008 года
Yurec
228 / / 21.09.2005
Чем бы Вас еще потешить? )
Вот такой вопрос:
1. Предыстория: жажду в PopupMenu отличать нажатие мышки на пункте меню от автоматического появления подменю. То есть чтобы было так: если я навел мышь на пункт меню и жду, то пусть вылазит подменю, а если я нажал! на пункт меню, то пусть происходит нечто невообразимое, например ShowMEssage('ДА!').
2. Идея реализации: создание компонента наследника (рабочий пример которого я, кстати нашел тут - http://www.delphipages.com/threads/thread.cfm?ID=180430&G=180337), в котором ловлю надатие (DOWN) левой кнопки мыши и делаю свой невообразимый ShowMessage('ДА!'), если нет, то пропускаю работу компонента по стандартному пути.

3. Непосредственно вопрос: пример из вышеописанной ссылки с надатием правой кнопки на PopupMenu весьма хорошо заработал. Хочу его переписать, чтобы ловить MOUSEDOWN событие:
case Message.Msg of
WM_NCLBUTTONDOWN:
ShowMessage('СООБЩЕНИЕ');
...

Конечно, ничего не работает... Кстати сообщение WM_MENURBUTTONUP ловится, возможно тут нужно какое-то особоое сообщение вроде WM_MENULBUTTONDOWN, но подобных ему нет. Кто знает какое сообщение засылается при МЫШКИВНИЗ на пункте ПОПУПМЕНЮ?
3.7K
28 августа 2008 года
0nni
326 / / 24.06.2008
Меню при вызове (как я понял) создают свою очередь сообщений попробуй искать окна с классом "#32768" и подменять оконные процедуры. Ты как я вижу все равно не ищешь легких путей =).
Второй вариант - напиши свой вариант меню.
14
29 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Тоесть хочется на итеме меню, у которого есть подменю отлавливать нажатия мышки?
513
01 сентября 2008 года
Yurec
228 / / 21.09.2005
Цитата: Phodopus
Тоесть хочется на итеме меню, у которого есть подменю отлавливать нажатия мышки?



Именно так!

14
01 сентября 2008 года
Phodopus
3.3K / / 19.06.2008
Ну могу сразу сказать что и RBUTOONDOWN ловится не всегда..
513
01 сентября 2008 года
Yurec
228 / / 21.09.2005
Цитата: Phodopus
Ну могу сразу сказать что и RBUTOONDOWN ловится не всегда..



RButtonDown ловится, у меня есть рабочий пример (ссылка выше). С правой кнопкой на меню у меня все заработало. Но левую не словить никак. Я, думаю, что так как нету явного сообщения в виндовом меню для LButtonDown, то может крутануться как-нить через сообщение COMMAND, вобщем не знаю как, потому и спрашиваю... (

14
01 сентября 2008 года
Phodopus
3.3K / / 19.06.2008
Я скомпилил этот рабочий пример, поэтому и утверждаю, что RBUTTONDOWN ловится не всегда - толи при первом нажатии не ловится толи при появлении подменю - уже не помню.. С левой кнопкой пока не разбирался - не знаю.. (Разве что через хуки)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог