MFC右键添加菜单出现的有关问题
MFC右键添加菜单出现的问题
我正在看孙鑫老师的《VC++深入详解》的视屏,里面有个添加右键弹出菜单的功能,建立一个MENU资源IDR_MENU1
在OnRButtonDown函数下实现
C/C++ code
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu* pPopup = menu.GetSubMenu(0);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,GetParent());
这是全部的代码,可是出现如下问题Unhandled exception at 0x78a4396e (mfc90ud.dll) in Menu1.exe: 0xC0000005: Access violation reading location 0x00000004.
为什么,谢谢各位
------解决方案--------------------
------解决方案--------------------
这说明m_hMenu为null 那应该就是LoadMenu失败的缘故 LoadMenu失败就是 你的资源IDR_MENU1有问题 你看看你的弹出菜单定义正确嘛 顶级菜单是否为弹出菜单
我正在看孙鑫老师的《VC++深入详解》的视屏,里面有个添加右键弹出菜单的功能,建立一个MENU资源IDR_MENU1
在OnRButtonDown函数下实现
C/C++ code
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu* pPopup = menu.GetSubMenu(0);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,GetParent());
这是全部的代码,可是出现如下问题Unhandled exception at 0x78a4396e (mfc90ud.dll) in Menu1.exe: 0xC0000005: Access violation reading location 0x00000004.
为什么,谢谢各位
------解决方案--------------------
CMenu MenuPopUp;
CMenu *psubMenu;
MenuPopUp.LoadMenu(IDR_MENU1);
psubMenu=MenuPopUp.GetSubMenu(0);
CPoint pt;
GetCursorPos(&pt);
psubMenu->TrackPopupMenu(TPM_RIGHTBUTTON,pt.x,pt.y,this);
MenuPopUp.Detach();
------解决方案--------------------
这说明m_hMenu为null 那应该就是LoadMenu失败的缘故 LoadMenu失败就是 你的资源IDR_MENU1有问题 你看看你的弹出菜单定义正确嘛 顶级菜单是否为弹出菜单