VC++ 2010 MFC 动态添加菜单时出错,请高手指点
下面是在CTelBookView中voidCTelBookView::OnChar(UINTnChar,UINTnRepCnt,UINTnFlags)函数中的部分代码:C...
下面是在CTelBookView中void CTelBookView::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)函数中的部分代码:
CMenu menu;
menu.CreatePopupMenu();
GetParent()->GetMenu()->AppendMenuA(MF_POPUP,(UINT)menu.m_hMenu,m_strName); <=DEBUG到这里时出错
GetParent()->GetMenu()->GetSubMenu(0)->AppendMenuA(MF_STRING,IDM_TEL1,m_strTel);
menu.Detach();
我想动态添加一个子菜单和菜单项,编译和链接通过,运行到上述语句时出现如下问题(见截图),不知为何发生,该如何处理。
小弟初学VC++,请前辈指点迷津。
我按 玉铉 的方法检验了,果然是GetParent()->GetMenu()==NULL。窗口上明明有菜单的,为什么返回值为空呢?怎么解决? 展开
CMenu menu;
menu.CreatePopupMenu();
GetParent()->GetMenu()->AppendMenuA(MF_POPUP,(UINT)menu.m_hMenu,m_strName); <=DEBUG到这里时出错
GetParent()->GetMenu()->GetSubMenu(0)->AppendMenuA(MF_STRING,IDM_TEL1,m_strTel);
menu.Detach();
我想动态添加一个子菜单和菜单项,编译和链接通过,运行到上述语句时出现如下问题(见截图),不知为何发生,该如何处理。
小弟初学VC++,请前辈指点迷津。
我按 玉铉 的方法检验了,果然是GetParent()->GetMenu()==NULL。窗口上明明有菜单的,为什么返回值为空呢?怎么解决? 展开
4个回答
展开全部
保证GetParent()是有效指针,GetParent()->GetMenu()也是有效指针。
这里使用menu.AppendMenuA(MF_POPUP,(UINT)menu.m_hMenu,m_strName); 就可以了。
这里使用menu.AppendMenuA(MF_POPUP,(UINT)menu.m_hMenu,m_strName); 就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是你的GetParent()获取父窗口指针问题吧..获取的指针可能是空值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也遇到这样的问题了,请问你是怎么解决的呀?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询