http://www.jb51.net/article/52156.htm 2014 对于windows程序设计,这里有几个关键词需要注意:消息,消息循环,窗口过程。 当初始化完成后,WinMain主函数就进入消息循环: 窗口过程: 下面以两个问题的方式进行具体概要。 此处注意:消息队列中放置的消息是以MSG结构的形式存在,MSG包括:窗口句柄、消息标识、消息的两个参数(WPARAM和LPARAM)、消息发送(POST)的时间以及鼠标的位置。此外,可以利用::GetMessage函数和::PeekMessage函数来保存获得的消息信息。 (2) 系统消息和应用程序消息 问题2:消息是如何进行传递、接收、处理的? 此处注意:非队列消息直接送给目的窗口的窗口过程,队列消息由::DispatchMessage派发给目的窗口的窗口过程。窗口过程被调用时接收四个参数:窗口句柄、消息标识、两个32位的消息参数。在窗口过程里,用switch/case分支处理语句来识别和处理消息。 每个GDI应用程序在主窗口创建之后,都会进入消息循环,接受用户输入、解释和处理消息。消息循环从消息队列中得到消息,如果不是快捷键消息或对话框消息,就进行消息转换和派发,让目的窗口的窗口过程来处理。当得到消息WM_QUIT,或者::GetMessage出错时,退出消息循环。 |
|
来自: 心不留意外尘 > 《task sys》