VC MFC 的界面中,比较常用的是弹出菜单。
但是,在开发的时候,会遇到一些很棘手的问题,
下面,是我遇到的问题,以及解决方法:
1 弹出菜单无法弹出,显示一个很小的东西。
弹出菜单,弹出的,是子菜单 。 比如说,拟建立了一个菜单,叫做:编辑,他下面有几项,分别是:复制,粘贴,清除... 那么,如果,你的弹出菜单想显示这些子内容,那么,你应该,用:
LoadMenu(ID);和GetSubMenu(n);
来加载相应的内容。
(你的菜单资源名叫做:IDR_MENU , 他有两个菜单项 (文件,编辑),弹出菜单,只想显示 编辑 的子菜单内容。那么你的实现应该是这样的:LoadMenu(IDR_MENU); GetSubMenu(1);)
2 弹出菜单消息无法截获(无法处理弹出菜单的点击消息):
如果你上网去搜索,别人一定会告诉你:在classwizard 添加 ON_COMMAND 消息处理。 但是,你会发现,住菜单没有问题,但是,弹出菜单,还是没有响应。
这种情况的出现,是因为,弹出菜单的弹出事件,加错了位置:应该放在 OnContextMenu(CWnd* pWnd, CPoint point)中。
当在这里面添加好了函数实现,那么,你就会发现,点击事件可以用了。
其实,就是这么简单,不过,耗费了我大概一周的时间,才找出结论,得不偿失阿。
好在,这种咚咚,只要一次,就永不会忘记,Happying .