我已经使用资源编辑器在我的Windows程序中添加了一个菜单现在我想在某些特定条件下添加一个子菜单。 下面是我的代码。
这是我的 Menu.h 文件
class CmainWn:public CFrameWnd
{
public:CmainWn();
DECLARE_MESSAGE_MAP()
afx_msg void OnAB();
};
类CApp:public CWinApp
{
public:BOOL InitInstance();
};
这是我的 Menu.cpp
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;
}
void CmainWn :: OnAB()
{
AfxMessageBox("Hello");
}
BEGIN_MESSAGE_MAP(CmainWn,CFrameWnd的)
ON_COMMAND(ID_A_B, &CmainWn::OnAB)
END_MESSAGE_MAP()
CApp App;
正如您所看到的,我创建了名为A的主菜单和一个名为B的子菜单。 我想在B下动态添加一个菜单。怎么做?
答案 0 :(得分:-2)
必须添加到Windows资源文件(projectname.rc)的示例代码
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
在资源视图中查看此内容会显示如下内容