Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2013, 13:47   #1
fedorov2012
Пользователь
 
Регистрация: 05.01.2013
Сообщений: 61
Вопрос Как отобразить контекстное меню над контролом (как меню для кнопки Пуск в Винде)?

Есть PopupMenu стоит задача вывести его над контролом за которым оно закреплено (как меню для кнопки Пуск в Windows). Делал так брал кнопки классов TJvSpeedButton, TRxSpeedButton, TcxButton (dev express) размещал их на форме и через свойство DropDownMenu делал связку со своим PopupMenu - при нажатии на кнопку меню выводиться, НО выводиться оно всегда вниз, за одним исключением, когда моя форма близко к концу экрана.
Скажите, пожалуйста, как заставить выводиться меню на контролом за которым оно закреплено?
Изображения
Тип файла: png PIC.PNG (11.4 Кб, 56 просмотров)
fedorov2012 вне форума Ответить с цитированием
Старый 07.01.2013, 13:51   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не делать через DropDownMenu, а в OnClick кнопки вызывать PopupMenu.Popup с нужными координатами (которые еще вычислить нужно)
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.01.2013, 14:04   #3
fedorov2012
Пользователь
 
Регистрация: 05.01.2013
Сообщений: 61
Вопрос

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не делать через DropDownMenu, а в OnClick кнопки вызывать PopupMenu.Popup с нужными координатами (которые еще вычислить нужно)
Да в OnClick'e можно вопрос как эти координаты-то вычислить, посмотрел исходники вычисления координат у приведенных кнопок - без 100 грамм не разобрать + ко всему в зависимости от PopupMenu (например TBXPopupMenu) оно еще само чего-то до вычисляет. Но с координатами это полбеды, допустим мы расчитали X, Y точки вывода меню, но возникает новая сложность как заставить меню выводиться снизу вверх (т.е меню начинать должно расти от нашей кнопки), а не сверху вниз.
fedorov2012 вне форума Ответить с цитированием
Старый 07.01.2013, 14:28   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
как заставить меню выводиться снизу вверх (т.е меню начинать должно расти от нашей кнопки), а не сверху вниз.
А с этого места подробнее, что имеется ввиду?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.01.2013, 14:31   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Видимо имеется ввиду как у TrackPopupMenu TPM_VERNEGANIMATION
EUGY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Навязчивое контекстное меню - как избавиться? Гаврилов C# (си шарп) 9 13.05.2012 21:30
создать контекстное меню в TextBox как в visual studio aleks_pilipenko C# (си шарп) 2 08.12.2011 19:36
И сново sendMessage =) Как нажать пункт верхнего меню и меню правой кнопки? TwiX Win Api 9 15.10.2009 01:57
Как добавить свой раздел в стандартное контекстное меню yaver Общие вопросы Delphi 2 26.11.2008 19:44
Как добавить подменю в системное контекстное меню Lucky13 Win Api 5 19.03.2007 20:17