求助删除动态建立弹出菜单时出现的问题
希望实现一个弹出菜单,其中的某一项还带有子菜单
程序简单代码是这样
CMenu m_PopListMenu,m_PopSubMenu;
m_PopListMenu.CreatePopupMenu();//在构造函数中创建
m_PopSubMenu.CreatePopupMenu();
//在自定义的ShowMenu函数中
......
m_PopSubMenu.AppendMenu(uFlag, ID_STATE_MANAGED, (LPCSTR)&m_PopItem_Alert);
m_PopListMenu.AppendMenu(uFlag|MF_POPUP,(UINT)m_PopSubMenu.m_hMenu,(LPCSTR)&m_PopItem_ChangeState);
.......
//然后删除
m_PopListMenu.DeleteMenu((UINT)m_PopSubMenu.m_hMenu,MF_BYCOMMAND);
m_PopSubMenu.DeleteMenu(ID_STATE_MANAGED, MF_BYCOMMAND);
运行的时候会出现assert,说是DeleteMenu的时候m_hMenu为空造成的。不知道为什么会出现这样的错误,应该怎么改进。
谢谢大家帮忙了。。。
程序简单代码是这样
CMenu m_PopListMenu,m_PopSubMenu;
m_PopListMenu.CreatePopupMenu();//在构造函数中创建
m_PopSubMenu.CreatePopupMenu();
//在自定义的ShowMenu函数中
......
m_PopSubMenu.AppendMenu(uFlag, ID_STATE_MANAGED, (LPCSTR)&m_PopItem_Alert);
m_PopListMenu.AppendMenu(uFlag|MF_POPUP,(UINT)m_PopSubMenu.m_hMenu,(LPCSTR)&m_PopItem_ChangeState);
.......
//然后删除
m_PopListMenu.DeleteMenu((UINT)m_PopSubMenu.m_hMenu,MF_BYCOMMAND);
m_PopSubMenu.DeleteMenu(ID_STATE_MANAGED, MF_BYCOMMAND);
运行的时候会出现assert,说是DeleteMenu的时候m_hMenu为空造成的。不知道为什么会出现这样的错误,应该怎么改进。
谢谢大家帮忙了。。。
...全文
相关推荐
mfc listbox弹出菜单及删除事件
总之,通过以上步骤,我们可以使MFC List Box在用户右键单击时弹出菜单,并响应菜单项的点击事件,例如删除List Box中的项。
C++实现动态链表的建立、输出、插入和删除功能。
"C++实现动态链表的建立、输出、插入和删除功能"本文将详细讨论C++实现动态链表的建立、输出、插入和删除功能的知识点。
二叉排序树的建立,删除,查找,动态
在C语言中,这需要维护一个临时变量来保存待删除节点的键值,以便后续处理。4. **动态操作**: 动态操作意味着二叉排序树能够在运行时不断变化,可以随时插入新节点、删除现有节点,同时保持其排序特性。
动态链表的建立、删除、插入完整程序
在这个C语言程序中,我们创建了一个动态链表的数据结构,并实现了动态链表的建立、删除和插入操作。这些是链表操作的基础,对于理解和掌握数据结构至关重要。
动态组件模块右键弹出菜单
在IT行业中,动态组件模块和右键弹出菜单是用户界面设计的重要组成部分,尤其是在开发复杂的桌面应用程序或Web应用时。


