问题的导入/引入/导引
如何在EasyX直接使用Windows的菜单消息?
在EasyX中加载菜单资源已经实现,接下来,如何在EasyX中捕获菜单消息?
《深入浅出Windows对话框1》
《深入浅出Win32中的资源1》
先搞清Windows消息响应机制
1.要想搞清消息响应机制,先得知道消息的类型吧?
队列消息:需要排队的消息。
非队列消息:不需要排队的消息。
WM_TIMER消息是低优先级消息。 仅当线程的消息队列中没有其他高优先级消息时,GetMessage 和 PeekMessage 函数才帖子此消息。
2.开发人员如何主动获取消息?
我被下面的代码坑了两天死活没搞懂,为什么WinMain中一直能捕获到WM_TIMER,因为GetMessage时传入没有指定当前窗口hWnd。
还有一个值得注意的地方:当注释掉WM_TIMER下的MessageBox之后,点击菜单项,触发WM_COMMAND时,走的WinMain的处理代码,保留WM_TIMER下的MessageBox,点击菜单项,触发WM_COMMAND时,走的WndProc的处理代码。
下面的代码非常具有代表性