Форум программистов, компьютерный форум CyberForum.ru

EnableMenuItem - C++

Восстановить пароль Регистрация
 
Spellz
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 25
14.09.2011, 15:32     EnableMenuItem #1
Доброе время суток.

Проблема проста: не получается переключать enable true/false в стандартном win32 api c++

Что делаю:
C++
1
2
    menu = LoadMenu (hInstance, MAKEINTRESOURCE(IDR_MENU1));
    EnableMenuItem(menu,ID_FILE_EXIT,MF_DISABLED | MF_GRAYED | MF_BYCOMMAND);
Результата никакого. Функция EnableMenuItem возвращает MF_ENABLED, как я понимаю она не срабатывает. Идеи?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
14.09.2011, 16:20     EnableMenuItem #2
Цитата Сообщение от Spellz Посмотреть сообщение
Функция EnableMenuItem возвращает MF_ENABLED
The return value specifies the previous state of the menu item. Стало быть все получилось. и состояние изменилось.
Spellz
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 25
14.09.2011, 16:25  [ТС]     EnableMenuItem #3
Хм, если состояние изменилось то почему кнопка менюшки все еще доступна для нажатия? Может быть еще что-то надо делать?
Aneron
 Аватар для Aneron
157 / 156 / 12
Регистрация: 20.04.2010
Сообщений: 570
14.09.2011, 16:31     EnableMenuItem #4
попробуй так

EnableMenuItem(menu,ID_FILE_EXIT,MF_GRAYED | MF_BYCOMMAND);

просто первый и второй параметр слегка противоречят друг другую
Spellz
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 25
14.09.2011, 17:01  [ТС]     EnableMenuItem #5
Не в этом дело. Сама по себе конструкция работает. Я походу где-то опять включаю эту кнопку. Пойду рыться в коде.

Добавлено через 17 минут
В упор не вижу где мог бы включить ее сново, скорее всего она просто не прорисовывается выключенной, хотя обновление меню не помогает, мб я не там это все пишу? Все это происходит по нажатию на кнопку. Менюшка эта находиться на диалоговом окне, если это имеет какое-то значение. Если кто подскажет где искать буду рад)
Чистый
Автор FAQ
 Аватар для Чистый
2572 / 1379 / 70
Регистрация: 08.09.2011
Сообщений: 3,705
Записей в блоге: 1
14.09.2011, 17:19     EnableMenuItem #6
если покажите код покажем где искать а так в двух строках ничего найти не получиться...
Spellz
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 25
14.09.2011, 17:36  [ТС]     EnableMenuItem #7
Весь код кидать сюда было бы проблематично в связи с большим колличеством файлов. В итоге я пришел к решению, оно оказалось вполне логичным.
Вместо того чтобы прикреплять меню в конструкторе диалоговых окон через свойства диалогового окна, я прикрепил его через програмный код сразу после создания окна.
Забавно получилось)
Yandex
Объявления
14.09.2011, 17:36     EnableMenuItem
Ответ Создать тему
Опции темы

Текущее время: 09:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru