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.
为什么,谢谢各位
------解决方案--------------------
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();

------解决方案--------------------
引用:
Quote: 引用:

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();


不对,还是出现上述错误

BOOL CMenu::TrackPopupMenu(UINT nFlags, int x, int y,
CWnd* pWnd, LPCRECT lpRect)
{
ASSERT(m_hMenu != NULL);
出错的位置应该在这

这说明m_hMenu为null  那应该就是LoadMenu失败的缘故  LoadMenu失败就是 你的资源IDR_MENU1有问题 你看看你的弹出菜单定义正确嘛 *菜单是否为弹出菜单