2015-02-24 5 views
-2

Я добавил меню в свою программу Windows, используя редактор ресурсов. Теперь я хочу добавить подменю в определенных условиях. Ниже приведен фрагмент моего кода.Как добавить подменю динамически в mfc

Это мой Menu.h файл

включают

класса CmainWn: общественный CFrameWnd

{

общественности: CmainWn();

DECLARE_MESSAGE_MAP()

afx_msg пустот OnAB();

};

класс CApp: общественный CWinApp

{

общественности: BOOL InitInstance();

};

Это мой Menu.cpp

включают "Menu.h"

включают "resource.h"

CmainWn :: CmainWn()

{

Create(NULL,"Menu Testing",WS_OVERLAPPEDWINDOW,rectDefault,NULL,(LPCTSTR)IDR_MENU1); 

}

BOOL CApp :: InitInstance()

{

m_pMainWnd=new CmainWn(); 

m_pMainWnd->ShowWindow(m_nCmdShow); 

m_pMainWnd->UpdateWindow(); 

return true; 

}

недействительными CmainWn :: OnAB()

{

AfxMessageBox("Hello"); 

}

BEGIN_MESSAGE_MAP (CmainWn, CFrameWnd)

ON_COMMAND(ID_A_B, &CmainWn::OnAB) 

END_MESSAGE_MAP()

CApp приложение;

Как вы можете видеть код, я создал главное меню с именем A и одно подменю с именем B. Я хочу добавить одно меню динамически под B. Как это сделать?

+1

Ваш вопрос плохо отформатирован версия [этот вопрос] (http://stackoverflow.com/q/28690886/1889329) (спросил 4 часа назад). – IInspectable

+0

Вы проверили http://stackoverflow.com/questions/3673546/dynamic-menu-using-mfc – GingerJack

+0

@GingerJack Да, я прошел через это и смог создать динамическое меню во время выполнения, но не смог добавить в качестве элемента подменю в мое главное меню. –

ответ

-2

Пример кода, который необходимо добавить в файл ресурсов Windows (имя проекта.гс)

IDR_MENU1 MENU 
BEGIN 
     POPUP "Main menu" 
     BEGIN 
      MENUITEM "Menu Item 1", ID_WINDOWS_TEST 
      POPUP "Sub Menu" 
     BEGIN 
      MENUITEM "Sub Menu item 1",ID_WIN_TEXT 
     END 
    END 
END 

Просмотр этой целью ресурсов будет отображать что-то вроде этого enter image description here

+0

Это не приводит к динамическому добавлению элементов меню. – IInspectable

Смежные вопросы