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

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

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

EnableMenuItem - C++

14.09.2011, 15:32. Просмотров 906. Ответов 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, как я понимаю она не срабатывает. Идеи?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
 Аватар для Чистый
2626 / 1384 / 71
Регистрация: 08.09.2011
Сообщений: 3,711
Записей в блоге: 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
Ответ Создать тему
Опции темы

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