MSG是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值來
確定該訊息到底是屬于眾多視窗中的哪一個視窗的,
第二個引數: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 -表示收到該訊息時滑鼠的當前位置;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/210190.html
標籤:C
上一篇:冒泡排序
