win32學習08 鍵盤滑鼠定時器訊息

2021-08-02 07:31:59 字數 1978 閱讀 2845

鍵盤和滑鼠的訊息引數:

/**********************

lresult callback windowproc(

hwnd hwnd, // handle to window

uint umsg, // wm_keydown

wparam wparam, // virtual-key code

lparam lparam // key data

);wparam 按鍵的虛擬鍵碼,如果是wm_char會被翻譯成asc編碼。滑鼠的則是其他按鍵訊息,比如ctrl。

specifies the virtual-key code of the nonsystem key.

lparam 附帶資訊,滑鼠的常常是滑鼠座標。

specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table.

***********************/

鍵盤訊息

鍵盤按下,傳遞電訊號,然後翻譯成虛擬鍵碼,可以自己定義。

wm_keydown,wm_keyup,按鍵按下彈起。可以按下多次彈起一次,但是彈起一次必然按下一次。

wm_syskeydown,wm_syskeyup,系統按鍵按下彈起

wm_char,字元訊息,由translatemessage函式翻譯:

1.判斷是不是wm_keydowm訊息

2.通過虛擬鍵碼的設定判斷是不是可見字元按鍵

3.如果是可見字元,則判斷capslock是否按下,判斷大小寫。

滑鼠訊息

wm_lbuttondown,wm_lbuttonup,滑鼠左鍵按下彈起,一般成對出現,比如原視窗按下,移出視窗再彈起,原視窗則接收不到。

wm_rbuttondown,wm_lbuttonup,滑鼠右鍵按下彈起

wm_mousemove,游標移動

wm_lbuttondblclk,wm_rbuttondblclk,滑鼠左右鍵雙擊

wm_mousewheel,滑鼠滾輪,

wparam

低八位:其他按鍵的狀態

高八位:附帶滾輪偏移量,是120的倍數,正負表示方向,正向前,負向後。

lparam:滑鼠座標

雙擊訊息:wm_lbuttondown,wm_lbuttonup,wm_lbuttondown,wm_lbuttondblclk

定時器

定時器:

wm_timer,精度是毫秒,但是準確度不夠,原因是getmessage函式可能會先抓取別的訊息。如果時間要求嚴格最好用執行緒。

訊息引數:

wparam,定時器id

lparam,定時器處理函式的指標

uint_ptr settimer(  

hwnd hwnd, // handle to window,定時器屬於的視窗控制代碼。

uint_ptr nidevent, // timer identifier

uint uelapse, // time-out value

timerproc lptimerfunc // timer procedure,定時器處理函式指標,如果為null則去視窗中找處理函式。

);bool killtimer(

hwnd hwnd, // handle to window,控制代碼

uint_ptr uidevent // timer identifier,定時器id

);

win32 鍵盤 滑鼠事件

onkeyuup 事件的語法為 void object1 onkeyup uint nchar,uint nrepcnt,uint nflags onkeydown 事件的語法為 void object1 onkeydown uint nchar,uint nrepcnt,uint nflags 這...

Win32學習筆記 滑鼠操作

1.游標型別 1 系統游標型別 windows.h idc arrow 箭頭游標 idc cross 十字游標 idc ibeam i字游標 idc icon 空圖示 idc sizeall 指向四個方向的帶有箭頭的游標 idc sizenesw 帶有指向東北方向和西南方向的箭頭的游標 idc si...

win32程式設計 滑鼠訊息

忙起來的時候感覺什麼都不缺,空下來以後才發現什麼都沒有。網易雲熱評 一 基本滑鼠訊息 wm lbuttondown 滑鼠左鍵按下wm lbuttonup 滑鼠左鍵抬起wm rbuttondown 滑鼠右鍵按下wm rbuttonup 滑鼠右鍵抬起wm mousemove 滑鼠移動訊息1 訊息引數 w...