![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
Доброе все время суток.
Только недавно обратил внимание на такую штуку - акселераторные клавиши срабатывают даже если соотвествующий пункт задизаблен. Попытался разобраться, поискал в MSDN и прочитал такое:
А обработчик все равно срабатывает? Посмотрел TranslateAccelerator, там нет проверки доступности меню. То есть как я понимаю, проверка ложится на плечи программиста? Нет никакого механизма проверки, или я чего - то не допонял? -------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| Earnest |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Пункт меню - это не окно. Имеется в виду окно, в вотором меню.
Именно - или библиотеки-framework. Скажем, в MFC все команды, идущие по стандартному пути (неважно, кто их породил) сначала пропускаются через проверку OnUpdateCmdUI и если команда дизэблиться - она дальше не отсылается. А в чистом API - сам. Причем, если у тебя одна и та же команда может быть послана из меню, кнопкой тулбара или горячими клавишами - это все обрабатывается отдельно. А зачем тогда, по твоему, всякие MFC и прочие оболочки пишут? -------------------- ... |
||||
|
|||||
| Darked |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 536 Регистрация: 26.2.2004 Где: Южный Урал Репутация: нет Всего: нет |
Earnest? так в том - то и дело, что в MFC проект сделан, а все равно акселератор проходит, несмотря на то, что меню задизаблено. И в WTL тоже самое.
-------------------- Veni, Vidi, Vici !!! |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
А пункт меню кто дизэблит? Твой обработчик ON_UPDATE_...? Посмотри, как твои команды ходят, может они по стандартному пути не идут, и нужно что-нибудь свое докручивать.
-------------------- ... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |