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

Вниз

Как происходит закрытие меню?   Найти похожие ветки 

 
cult ©   (2003-03-04 13:15) [0]

Господа,
кто нибудь наверняка знает,
что происходит на форме для того, чтобы закрылось меню. Ему посылаются какие-то сообщения или как это делается?

Суть в том, что у меня компонентик написан вместо PopupMenu, и я хочу, чтобы он закрывался и пропадал в тех же случаях, в каких это делает обычное PopupMenu.


 
Игорь Шевченко ©   (2003-03-04 13:22) [1]

Menus.pas


 
cult ©   (2003-03-04 13:24) [2]

уважаемый Игорь, этот модуль я в данный момент активно ковыряю, но на это может уйти много времени, я же прошу кого-нибудь, кто уже сталкивался с вопросом, помочь мне конкретным советом. Может, это будете Вы? :)


 
Игорь Шевченко ©   (2003-03-04 13:33) [3]

Тогда я не совсем понял вопроса.
Если компонент является окном, то вести себя он должен, скорее всего, как ListBox"овая часть ComboBox (закрываться при выборе Item"a или при нажатии мышью в другом месте).

Если компонент - наследник меню, то он сам уже должен все уметь.
На всякий случай - WM_ENTERMENULOOP, WM_EXITMENULOOP, WM_INITMENUPOPUP и т.д.


 
cult ©   (2003-03-04 13:37) [4]

Игорь Шевченко:

>Если компонент является окном, то вести себя он должен, скорее >всего, как ListBox"овая часть ComboBox (закрываться при выборе >Item"a или при нажатии мышью в другом месте).

Кажется, это как раз то, что нужно. А по какому сообщению закрывается эта штука в комбобоксе?


 
Игорь Шевченко ©   (2003-03-04 13:57) [5]

Либо WM_CANCELMODE (если нажали вне окна), либо WM_LBUTTONUP при условии, что в этому же окну было послано сообщение WM_LBUTTONDOWN. Можно в VCL посмотреть код TPopupListBox (то ли grids.pas, то ли dbgrids.pas, то ли dbctrls.pas)


 
Diamond Cat ©   (2003-03-04 23:16) [6]

я использовал wm_setfocus и wm_killfocus работало нормально



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-376
dums
2003-04-08 18:13
2003.05.01
выборка из БД в win98 - работает, а в win2k нет...


14-714
Мазут Береговой Рюрикович
2003-04-13 04:07
2003.05.01
Эй, питерцы! Я же прожил в Питере 4 года.


1-575
Sheng
2003-04-18 13:25
2003.05.01
Как узнать разделитель дробной части


7-814
dumb
2003-03-14 11:18
2003.05.01
Командная строка


14-725
wicked
2003-04-13 22:48
2003.05.01
журналисты о компьютерах..... :))