menu.LoadMenu(IDR_MENU1);
SetMenu(&menu);
DrawMenuBar();
Изменение текста кнопок в меню?
Пробивал получить CWnd кнопки
CButton *button=(CButton*)GetDlgItem(IDD_BUTTON);
button->SetWindowTex("EXIT");
Компилятор ошибки не дает, но при запуска програма закриваетса и видает ошибку. Я уже искал в класе СMenu функции но ничего не нашел. Помогите с етим разобратса.
Код:
В обработчике кнопки какой то меняем текст.
1.Меняем текст пункта меню
Код:
...
UINT flag=MF_STRING|MF_ENABLED|MF_BYPOSITION;
menu.ModifyMenu(0,flag,ID_FILE_OPEN,"Open");
DrawMenuBar();
...
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();
...
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.
Большое спасибо всё получилось и теперь можно загружать язик интерфейса с файла. :)