- typedef struct tagMSG {
- HWND hwnd; // 该消息所属的窗口句柄
- UINT message; // 指定消息的类型
- WPARAM wParam; // 用于指定消息的附加信息, 根据消息不同, 代表不同意思
- LPARAM lParam; // 用于指定消息的附加信息, 根据消息不同, 代表不同意思
- DWORD time; // 该消息投递到消息列队当中的时间
- POINT pt; // 该消息投递到消息列队当时, 鼠标的当前位置
- } MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
第一个参数: hwnd
hwnd 是一个窗口句柄, 用于区别该消息属于哪一个窗口, 可以说是一个窗口的编号.
一个消息一般都与某个窗口相关联, 比如鼠标移动到某个窗口中按下鼠标左键,
该窗口就会收到一个 "WM_LBUTTONDOWND" 的消息, 而应用程序就是利用消息中的 hwnd 值来
确定该消息到底是属于众多窗口中的哪一个窗口的.
第二个参数: message
为消息类型, 该值为一个数值, 不同的数值表示不同的消息, 为了便于记忆, Windows
为不同的消息定义了不同的宏, WM_XXX.(WM 是 Windows message 的缩写), 例如
WM_LBUTTONDOWN 消息 按下鼠标左键的消息是
WM_KEYDOWN 消息 表示按下键盘上的某个键等等.
第三个参数: wParam
WPARAM 类型 根据不同的消息 代表不同的意思: 例如
当收到 WM_LBUTTONDOWN 消息时, wParam 鼠标按钮, Shift 和 Ctrl 键的状态.
第四个参数: lParam
LPARAM 类型 WPARAM 类型 根据不同的消息 代表不同的意思: 例如
当收到 WM_SIZE 消息时候 lParam - 客户区的大小.
LOWORD(底位) - 客户区的宽度.
HIWORD(高位) - 客户区的高度.
第五个参数: time - 表示收到该消息的时间
第六个参数: pt - 表示收到该消息时鼠标的当前位置;
MSG 结构
来源: http://www.bubuko.com/infodetail-3337599.html