为什么是这样??
羊小丸子 2007-11-13 12:52:19 我写了一个程序, 创建一个 MFC EXE menu2,,然后给CMenu2View类添加 WM_CHAR的相应函数 ,想在接收回车的时候进行添加菜单的操作。结果却出了错误,大家给我看看 。
void CMenu2View::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
// TODO: Add your message handler code here and/or call default
CMenu *pcmenu;
int i;
if(nChar == 0x0d)
{
pcmenu =GetParent()->GetMenu();
i = IsMenu(pcmenu->m_hMenu); }
CView::OnChar(nChar, nRepCnt, nFlags);
}
我想调用pcmenu->AppendMenu()函数,但是这个函数中会进行判断 :assert(::IsMenu(m_hMenu)),所以assert失败,报错,我把它写出来 ,i 的值为0,可是,我明明定义了一个 CMenu的指针,为什么会出错呢 ??