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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Spellz
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 25
#1

EnableMenuItem - C++

14.09.2011, 15:32. Просмотров 1023. Ответов 6
Метки нет (Все метки)

Доброе время суток.

Проблема проста: не получается переключать 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, как я понимаю она не срабатывает. Идеи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
14.09.2011, 16:20 #2
Цитата Сообщение от Spellz Посмотреть сообщение
Функция EnableMenuItem возвращает MF_ENABLED
The return value specifies the previous state of the menu item. Стало быть все получилось. и состояние изменилось.
0
Spellz
1 / 1 / 0
Регистрация: 29.01.2010
Сообщений: 25
14.09.2011, 16:25  [ТС] #3
Хм, если состояние изменилось то почему кнопка менюшки все еще доступна для нажатия? Может быть еще что-то надо делать?
0
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
14.09.2011, 16:31 #4
попробуй так

EnableMenuItem(menu,ID_FILE_EXIT,MF_GRAYED | MF_BYCOMMAND);

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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru