读书人

if (AfxGetMainWnd()-gt;IsKindOf(RUNTI

发布时间: 2012-06-01 16:46:36 作者: rapoo

if (AfxGetMainWnd()->IsKindOf(RUNTIME_CLASS(CMDIFrameWndEx)))意思
请问大家这句话是什么意思啊,
VS2010 MDI文档程序,outputwnd.app 160行
void COutputList::OnContextMenu(CWnd* /*pWnd*/, CPoint point)
{
CMenu menu;
menu.LoadMenu(IDR_OUTPUT_POPUP);

CMenu* pSumMenu = menu.GetSubMenu(0);
if (AfxGetMainWnd()->IsKindOf(RUNTIME_CLASS(CMDIFrameWndEx)))
{
CMFCPopupMenu* pPopupMenu = new CMFCPopupMenu;

if (!pPopupMenu->Create(this, point.x, point.y, (HMENU)pSumMenu->m_hMenu, FALSE, TRUE))
return;

((CMDIFrameWndEx*)AfxGetMainWnd())->OnShowPopupMenu(pPopupMenu);
UpdateDialogControls(this, false);
}

SetFocus();
}
右键菜单显示不出来,大概是这句话的原因。什么意思,怎么解决呢,我的程序没用到文档。只用框架!!!

[解决办法]
AfxGetMainWnd()->IsKindOf(RUNTIME_CLASS(CMDIFrameWndEx))其实读这个句子就差不多明白点意思了。判断你这个程序的主窗口是否是类CMDIFrameWndEx类。

读书人网 >C++

热点推荐