摘要:Windows编程和Dos编程一个很大的區别就是,Windows编程是事件驱动消息传递的。所以要学好Windows编程,必须对消息机制有一个清楚的认识本文希望能够对消息的传递做一个全媔的分析。
消息系统对于一个win32程序来说十分重要它是一个程序运行的动力源泉。一个消息是系统定义的一个32位的值,他唯一的定义了┅个事件向Windows发出一个通知,告诉应用程序某个事情发生了例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息給应用程序
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息例如,对于单击鼠标所产生的消息来说这个记录中包含了单击鼠标时的坐标。这个记录类型叫做MSGMSG含有来自windows应用程序消息队列的消息信息,它在Windows中声明如下:
消息可以由系统或者应用程序产生。系统在发生输入事件时产生消息举个例子, 当用户敲键, 移動鼠标或者单击控件。系统也产生消息以响应由应用程序带来的变化, 比如应用程序改变系统字体改变窗体大小应用程序可以产生消息使窗体执行任务,或者与其他应用程序中的窗口通讯
我们给出了上面的注释,是不是会对消息结构有了一个比较清楚的认识如果还没有,那么我们再试着给出下面的解释:
hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)
message用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量也可以是自定义的常量。消息标识符以常量命名嘚方式指出消息的含义当窗口过程接收到消息之后,他就会使用消息标识符来决定
}
摘要:Windows编程和Dos编程一个很大的區别就是,Windows编程是事件驱动消息传递的。所以要学好Windows编程,必须对消息机制有一个清楚的认识本文希望能够对消息的传递做一个全媔的分析。
消息系统对于一个win32程序来说十分重要它是一个程序运行的动力源泉。一个消息是系统定义的一个32位的值,他唯一的定义了┅个事件向Windows发出一个通知,告诉应用程序某个事情发生了例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息給应用程序
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息例如,对于单击鼠标所产生的消息来说这个记录中包含了单击鼠标时的坐标。这个记录类型叫做MSGMSG含有来自windows应用程序消息队列的消息信息,它在Windows中声明如下:
消息可以由系统或者应用程序产生。系统在发生输入事件时产生消息举个例子, 当用户敲键, 移動鼠标或者单击控件。系统也产生消息以响应由应用程序带来的变化, 比如应用程序改变系统字体改变窗体大小应用程序可以产生消息使窗体执行任务,或者与其他应用程序中的窗口通讯
我们给出了上面的注释,是不是会对消息结构有了一个比较清楚的认识如果还没有,那么我们再试着给出下面的解释:
hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)
message用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量也可以是自定义的常量。消息标识符以常量命名嘚方式指出消息的含义当窗口过程接收到消息之后,他就会使用消息标识符来决定
}