Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как отобразить PopupMenu над контролом


Автор: fedorov2012 7.1.2013, 12:44
Есть PopupMenu стоит задача вывести его над контролом за которым оно закреплено (как меню для кнопки Пуск в Windows).
Делал так брал кнопки классов TJvSpeedButton, TRxSpeedButton, TcxButton (dev express) размещал их на форме и через свойство DropDownMenu делал связку со своим PopupMenu - при нажатии на кнопку меню выводиться, НО выводиться оно всегда вниз, за одним исключением, когда моя форма близко к концу экрана. 
Скажите, пожалуйста, как заставить выводиться меню на контролом за которым оно закреплено? 

Автор: Ne1tr1n0 7.1.2013, 13:34
Не привязывать меню к компонентам через свойство DropDownMenu, а самому показывать меню в событии Click или MouseDown/MouseUp с помощью TrackPopupMenu(Ex), указав флаг TPM_BOTTOMALIGN.
Код

  TrackPopupMenu(PopupMenu1.Handle, TPM_LEFTALIGN or TPM_BOTTOMALIGN, Mouse.CursorPos.X, Mouse.CursorPos.Y, 0, Handle, nil);

Или попробовать заюзать TJvPopupMenu.

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