打算在一个窗口上做一右键弹出菜单
右键事件里的源码如下:
CMenu menu;
menu.LoadMenu(IDR_MENU11);
CMenu *pPopup=menu.GetSubMenu(0);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,this);程序执行到标注为红颜色的那行代码就出错
击中断后,光标就停留在afxwin1.inl的985行上
985行代码如下
AFXWIN_INLINE CMenu* CMenu::GetSubMenu(int nPos) const
{ ASSERT(::IsMenu(m_hMenu)); return CMenu::FromHandle(::GetSubMenu(m_hMenu, nPos)); }但是vc6下可以运行通过
各位大侠有遇到过这样的问题吗,望帮忙解决下!Thanks!
右键事件里的源码如下:
CMenu menu;
menu.LoadMenu(IDR_MENU11);
CMenu *pPopup=menu.GetSubMenu(0);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,this);程序执行到标注为红颜色的那行代码就出错
击中断后,光标就停留在afxwin1.inl的985行上
985行代码如下
AFXWIN_INLINE CMenu* CMenu::GetSubMenu(int nPos) const
{ ASSERT(::IsMenu(m_hMenu)); return CMenu::FromHandle(::GetSubMenu(m_hMenu, nPos)); }但是vc6下可以运行通过
各位大侠有遇到过这样的问题吗,望帮忙解决下!Thanks!
解决方案 »
- 快速晃动对话框后,上面的按钮隐藏了,求助。
- 查询SQL数据库遇到读取数据为空值的时候会出错
- 网络编程快速入门看什么书比较好,谁给个建议?
- 谁知道类似QQ的局域网通讯软件的下载地址
- Ado通过OLE DB访问Access的程序为什么在有的XP系统下出现异常错误?
- 高分求助,串口数据流的问题!
- 关于远程调用,很急!!!
- 高手请进~关于打印当前界面显示的内容的问题
- mfc 双缓冲绘图 绘出来的图是黑白色的
- 如何找到一個適合入門的Journal Paper ?
- 希望在switch case中设置一条语句让所有的case都运行,但default中不运行?
- 问个超级简单的问题纯粹是送分,如何在控件栏增加自定义控件
{
POINT pt;
CMenu menu;
menu.LoadMenu(IDR_MENU1);
CMenu *pPopup=menu.GetSubMenu(0);
GetCursorPos(&pt);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y,this); //OnOK();
}
检查一下IDR_MENU11这个资源
AFXWIN_INLINE CMenu* CMenu::GetSubMenu(int nPos) const
{ ASSERT(::IsMenu(m_hMenu)); return CMenu::FromHandle(::GetSubMenu(m_hMenu, nPos)); }
调试就指向了afxwin1.inl红色的部分
自动窗口显示的信息为:m_hMenu 值0x00000000{unused=???} nPos 值为0
另外GetLastError()怎么用啊
看你以前回复的用法
DWORD dwRet = GetLastError();
CString strText(_T(""));
strText.Format(_T("%d"), dwRet);
AfxMessageBox(strText);
我把这段代码直接放在以下标注为红颜色的代码后,也执行不到啊,
程序就执行到红颜色这行就报错了,他以后的代码都执行不了了
CMenu menu;
menu.LoadMenu(IDR_MENU11);
CMenu *pPopup=menu.GetSubMenu(0);
ClientToScreen(&point);
pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,this);
// 也就是说程序认为m_hMenu对应的不是菜单。
// 此时检查下m_hMenu的值。
// 明显LoadMenu()失败,菜单未能建立
// 可以尝试在VS2008下重新建立菜单资源。