有一个多级菜单,我知道它的HMENU,我用这样的方法去得到它的当前选中项,在有子项的那一项菜单用键盘上的左右键一切换就挂掉,求安全的方法: int nItem = GetMenuItemCount(m_hMenu);
while (nItem--)
{
if (GetMenuState(m_hMenu, nItem, MF_BYPOSITION) & MF_HILITE)
return nItem;
} return -1; 是有子菜单的那一项用键盘<--/-->切换几次就挂了!
能给个完整答案的马上结贴给分,在线等,谢谢。
while (nItem--)
{
if (GetMenuState(m_hMenu, nItem, MF_BYPOSITION) & MF_HILITE)
return nItem;
} return -1; 是有子菜单的那一项用键盘<--/-->切换几次就挂了!
能给个完整答案的马上结贴给分,在线等,谢谢。
解决方案 »
- Visual C++重装系统后还能用伐?
- 如何在程序中检测alt+d按下了???????立刻给分
- 如何卸载ie插件,详细内容见内。急,在线等待……
- 怎么在对话框加OnGetMinMaxInfo(MINMAXINFO* lpMMI)呢??
- 我想申请做 VC/MFC 界面版的斑竹,期望得到大家的支持
- 谁有msdn?
- 请问:是什么原因会出现调试编译均通过,且在调试状态程序运用正常而在release版下运行不正常?
- 服务器使用UDP套接字在一个端口能不能和多用户通信?
- ReadString读中文编码乱码的问题
- 请问在对话框应用中如何为对话框中的按钮实现快捷键.
- [GDI]请问我这个绘制过程有问题或者有缺陷么?
- 高分求教!VC++编程
The WM_MENUCOMMAND message gives you a handle to the menu—so you can access the menu data in the MENUINFO structure—and also gives you the index of the selected item, which is typically what applications need. In contrast, the WM_COMMAND message gives you the menu item identifier.http://msdn.microsoft.com/en-us/library/windows/desktop/ms647603(v=vs.85).aspx
这个消息是父窗口才能得到,我是在菜单内部处理,有没有函数遍历的方法得到。