window應用程式利用windows訊息(message)
與應用程式及系統進行資訊交換。
訊息分為:
訊息號:有事先定義好的訊息名標識
位元組引數(wparam):用於提供訊息的附加資訊
長位元組引數(lparam):用於提供訊息的附加資訊
注:附加資訊與具體訊息號的值有關,在win中訊息用結構體msg表示
//結構體msg
typedef struct tagmsg
msg;
//結構體point
typedef struct tagpoint
point;
訊息分類:vc中存在幾種系統定義的訊息分類,
不同的字首符號經常用於訊息巨集識別訊息附屬的分類,
系統定義的訊息巨集字首如下:
bm 表示按鈕控制訊息
cb 表示組合框控制訊息
dm 表示預設下壓式按鈕控制訊息
em 表示編輯控制訊息
lb 表示列表框控制訊息
sbm 表示滾動條控制訊息
wm 表示視窗訊息
windows程式設計常用訊息:
視窗管理訊息
初始化訊息
輸入訊息
系統訊息
剪貼簿訊息
控制處理訊息
控制通知訊息
滾動條通知訊息
非使用者區訊息
mdi訊息
dde訊息
應用程式自定義的訊息
wm_lbuttonup:放開滑鼠左鍵時產生;
wm_rbuttondown:單擊滑鼠右鍵時產生;
wm_rbuttonup:放開滑鼠右鍵時產生;
wm_lbuttondblclk:雙擊滑鼠左鍵時產生;
wm_rbuttondblclk:雙擊滑鼠右鍵時產生。
系統鍵:是指實現系統操作的組合鍵,
例如alt與某個功能鍵的組合以實現系統選單操作等
常用windows訊息:
1. wm_lbuttondown:產生單擊滑鼠左鍵的訊息
lparam->低位元組包含當前游標得x座標
高位元組包含當前游標得y座標
wparam包含一整套數值以標識滑鼠鍵的按下狀態
2. wm_keydown:按下乙個非系統鍵是產生的訊息->
wparam:按下鍵的虛擬鍵碼,用以標識按下或釋放的鍵
lparam:記錄了按鍵的重複次數、掃瞄碼、轉移**、先前鍵的狀態等資訊。
4. wm_create:由createwindow函式發出的訊息
wparam:未用
lparam:包含乙個指向createstruct資料結構的指標
5. wm_close:關閉視窗時產生的訊息
wparam和lparam均未用。
6. wm_destroy:由destroywiodow函式發出的訊息
wparam和lparam均未用。
7. wm_quit:由postquitmessage函式發出的訊息,退出應用程式時發出的訊息
wparam:含退出**,標識程式退出執行時的有關資訊
lparam:未用
8. wm_paint:需要視窗重畫是產生的訊息
產生條件:
使用者移動或顯示,使用者改變視窗大小,程式通過滾動條滾動視窗,
下拉式選單關閉並需要恢復被覆蓋的部分,
windows清除對話方塊等物件,並需要恢復被覆蓋的部分
Window 訊息大全
訊息,就是指windows發出的乙個通知,告訴應用程式某個事情發生了。例如,單擊滑鼠 改變視窗尺寸 按下鍵盤上的乙個鍵都會使windows傳送乙個訊息給應用程式。訊息本身是作為乙個記錄傳遞給應用程式的,這個記錄中包含了訊息的型別以及其他資訊。例如,對於單擊滑鼠所產生的訊息來說,這個記錄中包含了單擊滑...
Window 訊息大全
訊息,就是指windows發出的乙個通知,告訴應用程式某個事情發生了。例如,單擊滑鼠 改變視窗尺寸 按下鍵盤上的乙個鍵都會使windows傳送乙個訊息給應用程式。訊息本身是作為乙個記錄傳遞給應用程式的,這個記錄中包含了訊息的型別以及其他資訊。例如,對於單擊滑鼠所產生的訊息來說,這個記錄中包含了單擊滑...
window訊息機制 四
注 可能你看這些東西的時候有些亂,不過沒關係,這很正常,多看幾下msdn就慢慢明白了,有我寫這個專題的時候,很多概念也太不清楚,不過等我查資料寫下來後,感覺漸漸有些東西也有了點眉目,因為這本身也是個進步的過程。小朱 七 處理訊息 視窗過程處理訊息通常以switch語句開始,對於它要處理的每一條訊息i...