Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
ВнизPopup меню раскрыть и скрыть Найти похожие ветки
← →
Дмитрий_05 (2005-09-13 20:45) [0]Что-то у меня никак не получается сделать вот как: нажмешь на кнопку, popup раскроется, еще раз нажмешь закроется, и т.д. Я уже незнаю что и делать... ввел переменную типа boolean которая разрешает открыть popup, т.е. если допустим b: boolean; b=true(меню раскрыто), то на повторном нажатии ничего не делать, меню само уберется... Но меню же можно закрыть и простым нажатием на форму и т.д. и т.п... Я отлавливал WM_EXITMENULOOP, думал что это спасет... и нет же... оно происходит до того как произойдет событие MouseDown или Click... что делать ума не приложу... может у кого-то есть какие-то идеи?
← →
Дмитрий_05 (2005-09-13 20:51) [1]P.S. в WM_EXITMENULOOP я какраз и присваиваю переменной b:=false, т.е. меню закрыто, при нажатии на кнопку можно открывать... Но потом тудже сделует событие MouseDown и меню опять открывается...
← →
Дмитрий_05 (2005-09-13 23:35) [2]Я неправильно выразился, что меня непонять? Помогите пожалуйста...
← →
Defunct © (2005-09-14 02:48) [3]> Но меню же можно закрыть и простым нажатием на форму и т.д. и т.п...
Так и должно быть, зачем что-то еще выдумывать?
← →
Дмитрий_05 (2005-09-14 04:01) [4]Закроется, а кнопке же надо как-то об этом сообщить, что меню закрылось... А то при следующем нажатии ничего не произойдет...
← →
Defunct © (2005-09-14 05:18) [5]Дмитрий_05 (14.09.05 04:01) [4]
> Закроется, а кнопке же надо как-то об этом сообщить, что меню закрылось...
Зачем?
> А то при следующем нажатии ничего не произойдет...
Зачем этот флажек? Уберите его и не будет проблемы.
Пусть по нажатию на кнопку только создается Popup, а уж закрываться он будет сам.
← →
Дмитрий_05 (2005-09-14 05:39) [6]Нужно чтобы при первом нажатии на кнопку меню раскрылось, при втором нажатии меню закрылось.
← →
Defunct © (2005-09-14 06:26) [7]Дмитрий_05 (14.09.05 05:39) [6]
TPopupMenu так работать не умеет.
Все создаваемые PopupMenu автоматически регистрируются в PopupList"е (модуль Menus), который и отвечает за их показ и гашение.
← →
Дмитрий_05 (2005-09-14 15:32) [8]ведь можно же как-нибудь "научить" его... ведь если к ToolButton прикрутить popupmenu оно так и работает, как мне нужно
← →
Игорь Шевченко © (2005-09-14 16:01) [9]Дмитрий_05 (14.09.05 15:32) [8]
Почему бы не посмотреть, как это сделано в TToolbar ?
Особенно метод
function TToolBar.CheckMenuDropdown(Button: TToolButton): Boolean;
Defunct © (14.09.05 06:26) [7]
> TPopupMenu так работать не умеет.
Умеет.
← →
Игорь Шевченко © (2005-09-14 16:02) [10]Дмитрий_05 (14.09.05 15:32) [8]
Почему бы не посмотреть, как это сделано в TToolbar ?
Особенно метод
function TToolBar.CheckMenuDropdown(Button: TToolButton): Boolean;
Defunct © (14.09.05 06:26) [7]
> TPopupMenu так работать не умеет.
Умеет.
← →
Defunct © (2005-09-14 18:35) [11]> Игорь Шевченко
> function TToolBar.CheckMenuDropdown(Button: TToolButton): Boolean;
реализовано довольно сложно..
> Умеет.
имелось в виду, что нет прямого способа сделать так..
PopupMenu все-таки управляемый (не только нами) объект.
← →
Игорь Шевченко © (2005-09-14 18:38) [12]Defunct © (14.09.05 18:35) [11]
> реализовано довольно сложно
А никто простых решений не обещал.
> имелось в виду, что нет прямого способа сделать так..
> PopupMenu все-таки управляемый (не только нами) объект.
Этой фразы не понимаю. Дело в том, что компонент (кнопку, с выпадающим меню) я делал три года назад, так что невозможного я в этом не вижу. Делал примерно по тому же принципу, что и в тулбаре.
← →
Defunct © (2005-09-14 18:48) [13]> Игорь Шевченко
никто и не говорит о невозможности решения задачи, речь идет лишь только о реализованых возможностях TPopupMenu.. PopupMenu не содержит ни метода Hide, ни свойства по которому можно отследить отображается он в данный момен или нет.
← →
Игорь Шевченко © (2005-09-14 18:53) [14]Defunct © (14.09.05 18:48) [13]
> PopupMenu не содержит ни метода Hide, ни свойства по которому
> можно отследить отображается он в данный момен или нет
Не содержит. Но оно рассылает сообщения...
← →
Дмитрий_05 (2005-09-14 19:57) [15]Игорь Шевченко, а не могли бы вы поделиться исходником?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.10.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.015 c