CMenu* popup = menu.GetSubMenu(零); 总是为NULL
CMenu* popup = menu.GetSubMenu(0); 总是为NULL
在一个CListCtrl列表控件中,右击出现弹出式菜单
主要代码如下:
主要报错是:
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
段点调试结果:
① error=0;
② popup为NULL
③ 当运行到popup->TrackPopupMenu()时报错 提示:XXX.exe has triggered a breakpoint 并把错误指向
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
网上也搜了也没有什么明确的方法解决,希望各位帮忙
------解决思路----------------------
看看你的这个IDR_MENU_SERVICE的ID关联的菜单资源是怎样定义的?
------解决思路----------------------
第一个子菜单还有下级 菜单?
------解决思路----------------------
菜单资源定义估计不对
需要第一个菜单是否pop-up格式,其他是否有子菜单
------解决思路----------------------
解决TrackPopupMenu显示菜单不全的问题
在一个CListCtrl列表控件中,右击出现弹出式菜单
主要代码如下:
DWORD dwPos = GetMessagePos();
CPoint point(LOWORD(dwPos),HIWORD(dwPos));
CMenu menu;
VERIFY(menu.LoadMenuW(IDR_MENU_SERVICE));
CMenu* popup = menu.GetSubMenu(0);
DWORD error =GetLastError();
popup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON,point.x,point.y,this);
popup->Detach();
主要报错是:
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
段点调试结果:
① error=0;
② popup为NULL
③ 当运行到popup->TrackPopupMenu()时报错 提示:XXX.exe has triggered a breakpoint 并把错误指向
ASSERT(pWnd == NULL || pWnd->m_hWnd == hWnd);
网上也搜了也没有什么明确的方法解决,希望各位帮忙
------解决思路----------------------
看看你的这个IDR_MENU_SERVICE的ID关联的菜单资源是怎样定义的?
------解决思路----------------------
第一个子菜单还有下级 菜单?
------解决思路----------------------
菜单资源定义估计不对
需要第一个菜单是否pop-up格式,其他是否有子菜单
------解决思路----------------------
解决TrackPopupMenu显示菜单不全的问题