上次講的是鍵盤事件,這次我們介紹鼠標事件。下面先介紹下鼠標事件的結構體以及相關信息。
typedef struct _MOUSE_EVENT_RECORD //鼠標事件結構體 { COORD dwMousePosition; //當前鼠標在控制台窗口緩沖區的位置 DWORD dwButtonState; //鼠標按鍵的狀態 DWORD dwControlKeyState; //控制鍵狀態 DWORD dwEventFlags; //鼠標事件類型 } MOUSE_EVENT_RECORD; /* 其中鼠標按鍵狀態dwButtonState可能的值有 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ FROM_LEFT_1ST_BUTTON_PRESSED 最左邊的鼠標鍵被按下 一般來說就是鼠標左鍵 FROM_LEFT_2ND_BUTTON_PRESSED 左起第二個鼠標鍵被按下 一般來說是鼠標中鍵,就是滾輪鍵 FROM_LEFT_3RD_BUTTON_PRESSED 左起第三個鼠標鍵被按下 FROM_LEFT_4TH_BUTTON_PRESSED 左起第四個鼠標鍵被按下 RIGHTMOST_BUTTON_PRESSED 最右邊的鼠標鍵被按下 一般來說是鼠標右鍵 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 控制鍵狀態dwControlKeyState與鍵盤事件的一樣 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENHANCED_KEY 擴展鍵被按下 LEFT_ALT_PRESSED 左Alt鍵被按下 LEFT_CTRL_PRESSED 左Ctrl鍵被按下 RIGHT_ALT_PRESSED 右Alt鍵被按下 RIGHT_CTRL_PRESSED 右Ctrl鍵被按下 NUMLOCK_ON 數字鎖定被打開 SCROLLLOCK_ON 滾動鎖定被打開 CAPSLOCK_ON 大寫鎖定被打開 SHIFT_PRESSED Shift鍵被按下 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 鼠標事件類型dwEventFlags有以下幾種 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DOUBLE_CLICK 雙擊,第一擊只作為普通按鍵事件,第二擊才作為雙擊事件 MOUSE_HWHEELED 水平鼠標滾輪移動 MOUSE_MOVED 鼠標移動 MOUSE_WHEELED 垂直鼠標滾輪移動 0 當鼠標有鍵被按下或者釋放 */
本欄目