Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

Как программно закрыть PopUpMenu?   Найти похожие ветки 

 
kofman ©   (2002-09-17 11:41) [0]

Мастера помогите, я в программе при возникновении события OnMouseMove над компонентом TLabel раскрываю PopUpMenu, а при наведении на другой Label, оно должно закрыться, как это сделать?


 
Marcus   (2002-09-17 12:42) [1]

Дело в том, что при активизации popupmenu, приложение входит в так называемый "menu loop" - бесконечный цикл, когда все остальные контролы на форме перестают получать даже OnMouseMove.
Думаю, тут без хуков не обойтись. Надо делать что-то типа SetWindowsHookEx(WH_MSGFILTER, ...), а затем ловить сообщения с Code = HC_ACTION. Советую посмотреть в исходниках VCL, в юните comctrls, как это реализовано для кнопок Toolbar"a с выпадающими меню: при перемещении по кнопкам-пунктам меню, выпадающие меню закрываются без нажатия кнопки.


 
kofman ©   (2002-09-17 21:21) [2]

Ну не совсем понятно:( поясните чайнику поподробнее пожалуйста.


 
kofman ©   (2002-09-20 23:55) [3]

Ну что никто так и незнает, как PopUp закрыть?



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

Текущий архив: 2002.11.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-11393
dogma
2002-10-14 14:17
2002.11.04
База данных или блокнот?


1-11181
Dunkan
2002-10-23 00:33
2002.11.04
TWebBrowser


4-11569
Infinity2
2002-09-15 13:25
2002.11.04
Какой тип хука надо поставить что бы отловить wm_timechange?


1-11254
volph777
2002-10-22 17:50
2002.11.04
красиво разбить строку


14-11392
sanilo
2002-10-17 13:03
2002.11.04
Электронная библиотека