右键菜单问题,请指教 获取子菜单呀。应该是ASSERT(pPopup == NULL);吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 menu.GetSubMenu(0);取得menu中的第一个子菜单,查查你的菜单资源,是否有子菜单和菜单是否已正确载入 比如说你的菜单有:文件 编辑 察看 .....GetSubMenu(0) 就是取得 文件 菜单。GetSubMenu(1) 就是取得 编辑 菜单。 liugy(最佳搭档): (应该是ASSERT(pPopup == NULL);吧???????? !!!!!!!!!!不要听他的,你原来的代码是对的。 我的菜单资源里有子菜单啊。有两个。另外为什么用第一个子菜单的指针调用TrackPopupMenu函数pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, curPoint.x, curPoint.y, pTree); 为什么不用母菜单menu调用TrackPopupMenu函数呢?? 应该是:CMenu * pMenu;pMenu->CreatePopupMenu(...);pMenu = menu..... 这样吧:1.使用菜单编辑器在工程中插入一个新的空菜单(ID为:IDR_SETTING_MENU)2.在左面的顶层菜单键入一些字符,然后,在随后的弹出式菜单中添加菜单项3.使用ClassWizard在视视图类中或在某个接收鼠标消息的其它窗口类中添加WM_CONTEXTMENU消息。为处理程序编码,如下所示:void CEx13aView::OnContextMenu(CWnd* pWnd, CPoint point) { // TODO: Add your message handler code here CMenu menu; menu.LoadMenu(IDR_SETTING_MENU); menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,point.x,point.y,this);}一定可以,我现在就用这个。 ASSERT(pPopup == NULL);不应该ASSERT(pPopup != NULL); ftASSERT(pPopup != NULL);是绝对正确的。我的问题在于Menu资源没有整好顶层菜单没有设置成弹出式。代码是没有问题的。给分 新手求教 如何实时监控变量的变化 VC2008SP1中的那些新特征怎么学习?推荐个好的学习材料! readdirectorychangesw Access yes/no 型显示问题 隐藏DOS窗口? 各位高手大侠帮帮忙!江湖救急! CSocket+多线程+静态链接问题 API函数ChildWindowFromPoint的使用问题---up也行 求助:如何在VC++ 6.0 中调用C++ Builder制作的动态链接库 delphi程序员学vc中....问题请教大家 绝对是菜鸟问题,大家快来拿分!!
GetSubMenu(0) 就是取得 文件 菜单。
GetSubMenu(1) 就是取得 编辑 菜单。
???????? !!!!!!!!!!
不要听他的,你原来的代码是对的。
另外为什么用第一个子菜单的指针调用TrackPopupMenu函数
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,
curPoint.x, curPoint.y,
pTree);
为什么不用母菜单menu调用TrackPopupMenu函数呢??
CMenu * pMenu;
pMenu->CreatePopupMenu(...);
pMenu = menu.....
1.使用菜单编辑器在工程中插入一个新的空菜单(ID为:IDR_SETTING_MENU)
2.在左面的顶层菜单键入一些字符,然后,在随后的弹出式菜单中添加菜单项
3.使用ClassWizard在视视图类中或在某个接收鼠标消息的其它窗口类中添加WM_CONTEXTMENU消息。为处理程序编码,如下所示:
void CEx13aView::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu menu;
menu.LoadMenu(IDR_SETTING_MENU);
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,point.x,point.y,this);
}一定可以,我现在就用这个。
ASSERT(pPopup != NULL);是绝对正确的。我的问题在于Menu资源没有整好顶层菜单没有设置成弹出式。
代码是没有问题的。给分