Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > TTray & TPopupMenu


Автор: zss 18.12.2005, 15:32
трей выводит по нажатию PopupMunu

но если не выбирать меню, а например щелкнуть на рабочем столе, то меню не убирается пока не выбрать его

как заставить закрываться Popup при щелчке вне него ?

Автор: _hunter 19.12.2005, 12:07
http://forum.vingrad.ru/index.php?showtopic=28551

Автор: zss 20.12.2005, 09:54
_hunter, а замем WinAPI - если компанент уже создан и работает (отлажен)

А если так, то можно ли привязать к TPopupMenu
Код

SetForegroundWindow(hWnd);
TrackPopupMenuEx(menu,TPM_RIGHTALIGN | TPM_BOTTOMALIGN,cursor.x,cursor.y,WindowHandler,0);
PostMessage(hWnd, WM_NULL, 0, 0); 

Автор: _hunter 20.12.2005, 11:22
затем, что этот компонент юзает все тот же API.
а привязать легко -- вместо hWnd передай Handle формы. если ее нет -- SetForegroundWindow(GetTopWindow(NULL));

Автор: zss 20.12.2005, 12:41
Цитата(_hunter @ 20.12.2005, 11:22)
затем, что этот компонент юзает все тот же API.
а привязать легко -- вместо hWnd передай Handle формы. если ее нет -- SetForegroundWindow(GetTopWindow(NULL));


а в какой момент это выставлять - веть я сам не показываю меню (TrackPopupMenuEx)

Автор: _hunter 20.12.2005, 13:03
ааа... так бы и писал.
если компонент трея чужой -- вряд ли ты это поправиш...

Автор: zss 20.12.2005, 13:48
_hunter, компанент Builder-овский

но знаешь SetForegroundWindow вроде помог smile

Автор: _hunter 20.12.2005, 13:59
стоп. тогда о каком готовом компоненте ты говорил? о меню чтоли?
так ты его тоже вручную вызывать должен...

Автор: zss 20.12.2005, 14:25
Цитата(_hunter @ 20.12.2005, 13:59)
стоп. тогда о каком готовом компоненте ты говорил? о меню чтоли?
так ты его тоже вручную вызывать должен...


TTray + TPopupMenu - это же название темы smile

а зачем вручную - все само делается smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)