Windows应用程序的消息处理机制
2015-02-15 18:21
274 查看
(1)操作系统接收到应用程序的窗体消息,将消息投递到该应用程序的消息队列中。
(2)应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息。
取出消息后,应用程序能够对消息进行一些预处理,比如,放弃对某些消息的响应,或者调用TranslateMessage产生新的消息。
(3)应用程序调用DispatchMessage,将消息回传给操作系统。
消息是由MSG结构体对象来表示的,当中就包括了接收消息的窗体的句柄。因此,DispatchMessage函数总能进行正确的传递。
(4)系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗体过程函数的指针调用窗体过程,对消息进行处理(“即系统给应用程序发送了消息”)。
流程图例如以下:
(2)应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息。
取出消息后,应用程序能够对消息进行一些预处理,比如,放弃对某些消息的响应,或者调用TranslateMessage产生新的消息。
(3)应用程序调用DispatchMessage,将消息回传给操作系统。
消息是由MSG结构体对象来表示的,当中就包括了接收消息的窗体的句柄。因此,DispatchMessage函数总能进行正确的传递。
(4)系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗体过程函数的指针调用窗体过程,对消息进行处理(“即系统给应用程序发送了消息”)。
流程图例如以下:
相关文章推荐
- Windows应用程序的消息处理机制
- Windows应用程序的消息处理机制
- Windows应用程序的消息处理机制
- Windows应用程序的消息处理机制
- Windows应用程序的消息处理机制
- Windows应用程序消息处理机制
- 文档/应用程序命令消息处理机制
- Android应用程序消息处理机制(Looper、Handler)分析
- 消息处理机制-WINDOWS程序设计的难点(摘自Windows程序设计开发指南)
- Windows 消息处理机制 (1)
- C#开发WINDOWS应用程序时消息的处理
- Android应用程序键盘(Keyboard)消息处理机制分析(1)
- C#开发WINDOWS应用程序时消息的处理
- Android应用程序消息处理机制(Looper、Handler)分析(2)
- C#开发WINDOWS应用程序时消息的处理
- Android应用程序消息处理机制(Looper、Handler)分析(4)
- Windows 的消息处理机制 (2)
- Android应用程序消息处理机制(Looper、Handler)分析
- Android应用程序消息处理机制(Looper、Handler)分析(3)
- Android应用程序消息处理机制(Looper、Handler)分析(1)