读书人

关于mfc动态添加菜单的有关问题

发布时间: 2013-04-02 12:35:26 作者: rapoo

关于mfc动态添加菜单的问题
有个右键菜单关于mfc动态添加菜单的有关问题
先是在框架类中添加OnMENUappend响应,想如此来动态添加菜单,代码如下:


另外要是使用insert插入菜单的话也会出现错误,而在框架类中没反应。 但是在框架类oncreate中用这两个函数的话却可以。
本人纯属菜鸟,希望各位给个详解。。 拜托~~
[解决办法]
CMenu mm;
mm.CreatePopupMenu(); 右键菜单是弹出菜单,CreateMenu是顶层菜单
mm.AppendMenu(MF_STRING,ID_MM,"菜单项");
mm.Detach();


[解决办法]

CMenu menu;
menu.CreatePopupMenu();//声明一个弹出式菜单
strMenuNo.LoadString(IDS_NO_CATEGORY);
menu.AppendMenu(MF_STRING,IDC_MENU_NULL,strMenuNo);
CPoint pt = m_pt;
ClientToScreen(&pt);

if (m_Menu != NULL)
{
m_Menu->DetachMenu();
}
HMENU hMenu = menu.GetSafeHmenu();
m_Menu->AttachMenu( hMenu );
ASSERT(m_Menu);

int nGetMenuReturnId = m_Menu->TrackPopupMenu(TPM_LEFTALIGN
[解决办法]
TPM_LEFTBUTTON
[解决办法]
TPM_RETURNCMD, pt.x, pt.y, this);
switch (nGetMenuReturnId)
{
case (UINT)IDC_MENU_ALL:
...
}

nGetMenuReturnId是右键选择的菜单id

读书人网 >VC/MFC

热点推荐