window编程_消息分类
Window應用程序利用Windows消息(Message)
與應用程序及系統進行信息交換。
消息分為:
消息號:有事先定義好的消息名標識
字節(jié)參數(wParam):用于提供消息的附加信息
長字節(jié)參數(lParam):用于提供消息的附加信息
注:附加信息與具體消息號的值有關,在Win中消息用結構體MSG表示
//結構體MSG
typedef struct tagMSG
{HWND hwnd; 窗口句柄,為null,則可檢索所有駐留在消息隊列中的消息
UINT message; 消息值,由Windows.h頭文件中的宏定義來標識
WPARAM wParam; 包含有關消息的附加信息,不同消息其值有所不同
LPARAM lParam;
DWORD time; 指定消息送至隊列的時間
POINT pt;指定消息發(fā)送時屏幕光標的位置,其數據類型POINT也是一個結構體
}MSG;
//結構體POINT
typedef struct tagPOINT
{LONG x;
LONG y;
} POINT;
消息分類:VC中存在幾種系統定義的消息分類,
不同的前綴符號經常用于消息宏識別消息附屬的分類,
系統定義的消息宏前綴如下:
BM 表示按鈕控制消息
CB 表示組合框控制消息
DM 表示默認下壓式按鈕控制消息
EM 表示編輯控制消息
LB 表示列表框控制消息
SBM 表示滾動條控制消息
WM 表示窗口消息
Windows編程常用消息:
窗口管理消息
初始化消息
輸入消息
系統消息
剪貼板消息
控制處理消息
控制通知消息
滾動條通知消息
非用戶區(qū)消息
MDI消息
DDE消息
應用程序自定義的消息
WM_LBUTTONUP:放開鼠標左鍵時產生;
WM_RBUTTONDOWN:單擊鼠標右鍵時產生;
WM_RBUTTONUP:放開鼠標右鍵時產生;
WM_LBUTTONDBLCLK:雙擊鼠標左鍵時產生;
WM_RBUTTONDBLCLK:雙擊鼠標右鍵時產生。
系統鍵:是指實現系統操作的組合鍵,
例如Alt與某個功能鍵的組合以實現系統菜單操作等
常用Windows消息:
1. WM_LBUTTONDOWN:產生單擊鼠標左鍵的消息
lParam->低字節(jié)包含當前光標得X坐標
高字節(jié)包含當前光標得Y坐標
wParam包含一整套數值以標識鼠標鍵的按下狀態(tài)
2. WM_KEYDOWN:按下一個非系統鍵是產生的消息->
wParam:按下鍵的虛擬鍵碼,用以標識按下或釋放的鍵
lParam:記錄了按鍵的重復次數、掃描碼、轉移代碼、先前鍵的狀態(tài)等信息。
3. WM_ CHAR:按下一個非系統鍵時產生的消息
wParam 為按鍵的ASCII碼
lParam 與WM_KEYDOWN的相同
4. WM_CREATE:由CreateWindow函數發(fā)出的消息
wParam:未用
lParam:包含一個指向CREATESTRUCT數據結構的指針
5. WM_CLOSE:關閉窗口時產生的消息
wParam和lParam均未用。
6. WM_DESTROY:由DestroyWiodow函數發(fā)出的消息
wParam和lParam均未用。
7. WM_QUIT:由PostQuitMessage函數發(fā)出的消息,退出應用程序時發(fā)出的消息
wParam:含退出代碼,標識程序退出運行時的有關信息
lParam:未用
8. WM_PAINT:需要窗口重畫是產生的消息
產生條件:
用戶移動或顯示,用戶改變窗口大小,程序通過滾動條滾動窗口,
下拉式菜單關閉并需要恢復被覆蓋的部分,
Windows清除對話框等對象,并需要恢復被覆蓋的部分
?
轉載于:https://www.cnblogs.com/veis/p/6940009.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的window编程_消息分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《C++覆辙录》——1.9:使用糟糕的语
- 下一篇: cmd应用基础 扫盲教程