MSG结构

MSG是Windows程序中的结构体,用于保存windows消息,
定义:windows

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值来
肯定该消息究竟是属于众多窗口中的哪个窗口的。spa

第二个参数:message
为消息类型,该值为一个数值,不一样的数值表示不一样的消息,为了便于记忆,windows
为不一样的消息定义了不一样的宏,WM_XXX。(WM是windows message的缩写),例如
WM_LBUTTONDOWN 消息  按下鼠标左键的消息是
WM_KEYDOWN 消息 表示按下键盘上的某个键等等。code

第三个参数:wParam
WPARAM类型 根据不一样的消息 表明不一样的意思:例如
当收到 WM_LBUTTONDOWN 消息时,wParam 鼠标按钮、Shift和Ctrl键的状态。blog


第四个参数:lParam
LPARAM类型 WPARAM类型 根据不一样的消息 表明不一样的意思:例如
当收到 WM_SIZE 消息时候  lParam - 客户区的大小。
LOWORD(底位) - 客户区的宽度。
HIWORD(高位) - 客户区的高度。class

第五个参数:time -表示收到该消息的时间程序

第六个参数:pt  -表示收到该消息时鼠标的当前位置;im

相关文章
相关标签/搜索