【发布时间】:2015-02-24 11:41:49
【问题描述】:
我已经使用资源编辑器在我的 Windows 程序中添加了一个菜单,现在我想在某些特定条件下添加一个子菜单。 下面是我的一段代码。
这是我的 Menu.h 文件
包括
类 CmainWn:公共 CFrameWnd
{
公共 :CmainWn();
DECLARE_MESSAGE_MAP()
afx_msg void OnAB();
};
类 CApp:公共 CWinApp
{
公共 : BOOL InitInstance();
};
这是我的 Menu.cpp
包括“菜单.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;
}
void CmainWn::OnAB()
{
AfxMessageBox("Hello");
}
BEGIN_MESSAGE_MAP(CmainWn,CFrameWnd)
ON_COMMAND(ID_A_B, &CmainWn::OnAB)
END_MESSAGE_MAP()
CApp 应用程序;
如您所见,我创建了一个名为 A 的主菜单和一个名为 B 的子菜单。 我想在B下动态添加一个菜单,怎么做?
【问题讨论】:
-
您的问题是this question 格式错误的版本(4 小时前提出)。
-
@GingerJack 是的,我已经完成了,并且能够在运行时创建动态菜单,但无法在我的主菜单中附加为子菜单项。
-
我建议您阅读
OnInitMenuPopup文档。 -
@sergiol:它已经死了,除非你有enough reputation to see deleted content。通过点击链接,我仍然可以很好地看到这个问题。
标签: mfc