Меню и горячие клавиши | |
---|---|
Вячеслав Клепинин Автор Сообщений: 1597 Откуда: Санкт-Петербург Дата регистрации: 26.03.2004 |
Привет всем!
Вопрос про активацию меню. В приложении главная форма As Top Level в методе Init формирует меню, фрагмент кода которого показан ниже:
В процессе работы приложения подгружаются MDI-формы, в методе Activate которых в главное меню добавляются новые пункты, а в методах Destroy и Deactivate эти пункты уничтожаются. Пример добавляемого кода показан ниже:
Проблема в следующем. При запуске MDI-формы новый пункт появляется в главном меню, но ГОРЯЧИЕ КЛАВИШИ, назначенные BAR'ам этого пункта, не работают. Только после того, как пункт будет открыт (т.е. кликаем по нему, появляется popup, ничего не выбираем), горячие клавиши начинают работать. Что не есть удобно. Есть ли возможность обойти этот момент? |
Re: Меню и горячие клавиши | |
---|---|
Pliskin Сообщений: 2959 Откуда: Новосибирск Дата регистрации: 19.11.2003 |
Ну и сделай:
|
Re: Меню и горячие клавиши | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
а может они кнопочки SET FUNCTION или ON KEY LABEL держат? И сбрасываюца тока при активизации
------------------ Осторожно - глисты! |
Re: Меню и горячие клавиши | |
---|---|
Вячеслав Клепинин Автор Сообщений: 1597 Откуда: Санкт-Петербург Дата регистрации: 26.03.2004 |
Если бы так просто!
to Pliskin: Команда Activate popup pad_Edit NOWAIT после добавления MDI-формы сразу показывает выпадающее (popup) меню, причём с левого верхнего угла формы. to Hel!Riser Нет, никаких команд для перехвата горячих клавиш нет. Да и не люблю я их, особенно ON KEY LABEL Отредактировано (10.02.05 11:34) ------------------ |
Re: Меню и горячие клавиши | |
---|---|
Pliskin Сообщений: 2959 Откуда: Новосибирск Дата регистрации: 19.11.2003 |
дак, скрыть его сразу:
|
Re: Меню и горячие клавиши | |
---|---|
Вячеслав Клепинин Автор Сообщений: 1597 Откуда: Санкт-Петербург Дата регистрации: 26.03.2004 |
to Pliskin
Да, спрятать можно... Но ГОРЯЧИЕ КЛАВИШИ всё равно не работают. Начинают работать только после того, как сам откроешь popup. |
Re: Меню и горячие клавиши | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Вячеслав, а нельзя ли изобразить код и ошибкой - а то чего-то самому на Top Level Form лениво писать да и непользую я его никогда
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Меню и горячие клавиши | |
---|---|
Serguei Otchirov Сообщений: 134 Откуда: Россия, г. Элист Дата регистрации: 16.05.2001 |
Вячеслав,
У меня есть форма топ-левел в которой горячие клавиши работают внутри меню (в данном случае F-keys). Но я формирую меню не в Ините формы а отдельным методом и вызываю в Ините: thisform.MyMenu(this) - если это первый вызов, а другие меню без вызываю параметра. Пока не жаловался ------------------ С уважением, Сергей Очиров |
Re: Меню и горячие клавиши | |
---|---|
Вячеслав Клепинин Автор Сообщений: 1597 Откуда: Санкт-Петербург Дата регистрации: 26.03.2004 |
Сергей, в том то и дело, что во всех popup, которые расписаны в одном методе, а именно в том, в котором объявляется меню (DEFINE MENU), все назначенные горячие клавиши работают нормально. Проблема возникает, когда я ДОБАВЛЯЮ в линейку меню новый пункт из другого метода (или другой немодальной формы); этот пункт добавляется, но назначенные в нём горячие клавиши не срабатывают, пока, например, не кликнешь по этому пункту мышью. После этого - всё ОК, работает как надо.
Вадим, спасибо, но не хочу заморачивать вас этой проблемой. Не стоит она того... Похоже, что копать здесь надо глубоко, на уровне перехвата сообщений. Получается, что при добавлении нового пункта в меню ссылка в таблицы перехватчика подставляется только при первом вызове popupa этого пункта. Ну что-то типа того... Спасибо всем! |
Re: Меню и горячие клавиши | |
---|---|
AlexK Сообщений: 2114 Откуда: Королев,Москва Дата регистрации: 11.12.2000 |
добавляйте не пункты, а весь popup, удаляя предыдущий - все тоже самое получится
проверьте существование предыдущих popup - display memory Отредактировано (11.02.05 08:18) ------------------ Береги природу, мать Вашу. Моя страничка www.genrep.net |
© 2000-2024 Fox Club  |