Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как манипулировать самым верхним пунктом меню, Типа File, Edit, View... 
:(
    Опции темы
Darked
Дата 17.12.2004, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 26.2.2004
Где: Южный Урал

Репутация: нет
Всего: нет



Всем, доброе время суток.
Создаю меню. Делаю пункт меню верхнего уровня, наровне с File, Edit, View... Вопрос, можно ли динамически изменить состояние этих меню верхнего уровня? ID их не известны.


--------------------
Veni, Vidi, Vici !!!
PM MAIL ICQ   Вверх
Coocky
Дата 18.12.2004, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Я кстаи не задумывался...Но и в прогах не видел..Можно получит указатель на GetSubMenu(n) где n номер номер "столбца"попробуй.Я тоже попробую...


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
bel_nikita
Дата 19.12.2004, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 2
Всего: 47



Darked
Можно.
Для это и есть в MFC класс CMenu smile


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Darked
Дата 19.12.2004, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 26.2.2004
Где: Южный Урал

Репутация: нет
Всего: нет



bel_nikita
CMenu позволяет манипулироват тока с сабменю, у которых есть айди, как я понял. А про "верхние меню" я так ничего и не нашел в документации.


--------------------
Veni, Vidi, Vici !!!
PM MAIL ICQ   Вверх
bel_nikita
Дата 19.12.2004, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 2
Всего: 47



Darked
Вот, пример отключки итема верхнего меню.
Создай пункт(итем) меню через визард. В моем примере это bel_nikita smile
Теперь я нахожу этот пункт(итем) меню и отключаю его, т.е. я не использую ID
Код

// функция поиска итема в меню по названию
int FindMenuItem(CMenu* Menu, LPCTSTR MenuString)
{
  ASSERT(Menu);
  ASSERT(::IsMenu(Menu->GetSafeHmenu()));

  int count = Menu->GetMenuItemCount();
  for (int i = 0; i < count; i++)
  {
     CString str;
     if (Menu->GetMenuString(i, str, MF_BYPOSITION) &&
        (strcmp(str, MenuString) == 0))
        return i;
  }

  return -1;
}

void CTestTerminalApp::OnBelNikita()
{
// TODO: Add your command handler code here
 CMenu* pMenuMain        = NULL;
 CMenu* pMenuTests       = NULL;
 
 pMenuMain = AfxGetMainWnd()->GetMenu(); // получаем главное меню программы

 // ищем итем по названию
 int ipos = FindMenuItem(pMenuMain,"bel_nikita"); // bel_nikita - название твоего меню
 if ( ipos == -1 )
   return;

  pMenuTests  =  pMenuMain->GetSubMenu(ipos); // ну это для субменю. если есть.

  pMenuMain->EnableMenuItem(ipos,MF_BYPOSITION  | MF_DISABLED | MF_GRAYED);
}



--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Darked
Дата 22.12.2004, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 536
Регистрация: 26.2.2004
Где: Южный Урал

Репутация: нет
Всего: нет



bel_nikita, спасибо!


--------------------
Veni, Vidi, Vici !!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.1538 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.