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

相關文章
相關標籤/搜索