Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Изменение текста кнопок в меню?

538
21 марта 2007 года
AVDEY
188 / / 17.11.2005
У меня появилась потребность изменять текст кнопок в меню, и не могу понять как ето делать.
Пробивал получить CWnd кнопки
CButton *button=(CButton*)GetDlgItem(IDD_BUTTON);
button->SetWindowTex("EXIT");
Компилятор ошибки не дает, но при запуска програма закриваетса и видает ошибку. Я уже искал в класе СMenu функции но ничего не нашел. Помогите с етим разобратса.
320
22 марта 2007 года
m_Valery
1.0K / / 08.01.2007
CMenu menu - переменная класса диалога.Нарисовали меню в ресурсах.В OnInitDialog написали и загрузили меню.
 
Код:
menu.LoadMenu(IDR_MENU1);
       SetMenu(&menu);
       DrawMenuBar();

В обработчике кнопки какой то меняем текст.
1.Меняем текст пункта меню
 
Код:
...
       UINT flag=MF_STRING|MF_ENABLED|MF_BYPOSITION;
       menu.ModifyMenu(0,flag,ID_FILE_OPEN,"Open");
       DrawMenuBar();
...

2.Если надо менять текст пункта выпадающего меню
 
Код:
...
       UINT flag=MF_STRING|MF_ENABLED|MF_BYPOSITION;
       CMenu * m = menu.GetSubMenu(1);
       m->ModifyMenu(0,flag,ID_FILE_OPEN,"Open");
       DrawMenuBar();
...

BOOL ModifyMenu( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL ); - пунт меню заменяет тот, на который указывает параметр nPosition.
CMenu* GetSubMenu( int nPos ) const; - возвращает указатель на выпадающее (pop-up) меню, которое задается позицией nPos. Если указанный пункт меню не существует возвращается NULL.
538
28 марта 2007 года
AVDEY
188 / / 17.11.2005
Большое спасибо всё получилось и теперь можно загружать язик интерфейса с файла. :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог