当前位置: 首页 > 工具软件 > Easy Z Modal > 使用案例 >

里奥老师乾坤大挪移—深入浅出Easy之底层架构1

笪昌翰
2023-12-01
问题的导入/引入/导引

如何在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的处理代码。
下面的代码非常具有代表性,每一句都要反复琢磨。

#include 
 类似资料: