Windows为每一个应用程序(确切地说是每一个线程)维护了相应的消息队列,应用程序的任务就是不停的从它的消息队列中获取消息,分析消息和处理消息,直到一条接到叫做WM_QUIT消息为止,这个过程通常是由一种叫做消息循环的程序结构来实现的。
消息本身是作为一个记录传递给应用程序的,这个记录中包含了消息的类型以及其他信息。例如,对于单击鼠标所产生的消息来说,这个记录中包含了单击鼠标时的坐标。这个记录类型叫做T M s g,它在Wi n d o w s单元中是这样声明的:
type
TMsg = packedrecord
hwnd: HWND / /窗口句柄
message: UINT / /消息常量标识符
wParam: WPA R AM // 32位消息的特定附加信息
lParam: LPA R AM // 32位消息的特定附加信息
time: DWORD / /消息创建时的时间
pt: TPoint / /消息创建时的鼠标位置