主题:如何定位多个弹出式菜单
这个问题是我看Charles Petzold《windows程序设计》10-9 POPPAD2.C所发现:
当窗口消息处理程序收到WM_INITMENUPOPUP消息后,书中靠LOWORD(lParam)值(弹出式菜单索引)来定位。但我测试发现:如果顶层菜单中又嵌套了弹出式菜单,这种方法就不行了。(书中程序或像记事本这种无嵌套的可以)
我想可以用GetMenu 、GetMenuItemInfo遂一得到弹出式菜单句柄并保存起来,当收到WM_INITMENUPOPUP消息后,用wParam(弹出式菜弹句柄)来和先前保存的菜单句柄比较以确定使用者是点击了哪一个弹出式菜单。
不知还有没有其它方法?[em1]
当窗口消息处理程序收到WM_INITMENUPOPUP消息后,书中靠LOWORD(lParam)值(弹出式菜单索引)来定位。但我测试发现:如果顶层菜单中又嵌套了弹出式菜单,这种方法就不行了。(书中程序或像记事本这种无嵌套的可以)
我想可以用GetMenu 、GetMenuItemInfo遂一得到弹出式菜单句柄并保存起来,当收到WM_INITMENUPOPUP消息后,用wParam(弹出式菜弹句柄)来和先前保存的菜单句柄比较以确定使用者是点击了哪一个弹出式菜单。
不知还有没有其它方法?[em1]