MOUSE_EVENT_RECORD 結構
重要
本文件說明已不再是生態系統 藍圖一部分的控制台平臺功能。 我們不建議您在新產品中使用此內容,但我們將繼續支持無限期的未來現有使用量。 我們慣用的新式解決方案著重於 虛擬終端機序列 ,以在跨平臺案例中達到最大相容性。 您可以在傳統 主控台與虛擬終端機 檔中找到此設計決策的詳細資訊。
描述主控台 中的滑鼠輸入事件INPUT_RECORD 結構。
語法
typedef struct _MOUSE_EVENT_RECORD {
COORD dwMousePosition;
DWORD dwButtonState;
DWORD dwControlKeyState;
DWORD dwEventFlags;
} MOUSE_EVENT_RECORD;
成員
dwMousePosition
COORD 結構,包含游標的位置,就控制台畫面緩衝區的字元單元格座標而言。
dwButtonState
滑鼠按鈕的狀態。 最小有效位會對應至最左邊的滑鼠按鈕。 下一個最小有效位對應於最右邊的滑鼠按鈕。 下一個位表示最左邊的滑鼠按鈕。 然後位會從左至右對應到滑鼠按鈕。 如果按下按鈕,則為 1。
前五個滑鼠按鈕會定義下列常數。
值 | 意義 |
---|---|
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 | 最左邊的滑鼠按鈕。 |
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 | 左邊的第二個按鈕。 |
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 | 左邊的第三個按鈕。 |
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 | 左邊的第四個按鈕。 |
RIGHTMOST_BUTTON_PRESSED 0x0002 | 最右邊的滑鼠按鈕。 |
dwControlKeyState
控制鍵的狀態。 這個成員可以是下列其中一或多個值。
值 | 意義 |
---|---|
CAPSLOCK_ON 0x0080 | CAPS LOCK 燈已開啟。 |
ENHANCED_KEY 0x0100 | 金鑰已增強。 請參閱 備註。 |
LEFT_ALT_PRESSED 0x0002 | 按下左 ALT 鍵。 |
LEFT_CTRL_PRESSED 0x0008 | 按下左 CTRL 鍵。 |
NUMLOCK_ON 0x0020 | NUM LOCK 燈已開啟。 |
RIGHT_ALT_PRESSED 0x0001 | 按下右 ALT 鍵。 |
RIGHT_CTRL_PRESSED 0x0004 | 按下右 CTRL 鍵。 |
SCROLLLOCK_ON 0x0040 | SCROLL LOCK 燈已開啟。 |
SHIFT_PRESSED 0x0010 | 按下SHIFT鍵。 |
dwEventFlags
滑鼠事件的型別。 如果此值為零,表示按下或放開滑鼠按鈕。 否則,這個成員就是下列其中一個值。
值 | 意義 |
---|---|
DOUBLE_CLICK 0x0002 | 發生按兩次按下 ( 按下) 。 第一次按兩下會以一般按鈕按下事件的形式傳回。 |
MOUSE_HWHEELED 0x0008 | 水平滑鼠滾輪已移動。 如果 dwButtonState 成員的高字包含正值,則方向盤會向右旋轉。 否則,方向盤向左旋轉。 |
MOUSE_MOVED 0x0001 | 發生滑鼠位置變更。 |
MOUSE_WHEELED 0x0004 | 垂直滑鼠滾輪已移動。 如果 dwButtonState 成員的高字包含正值,則方向盤會向前旋轉,遠離使用者。 否則,方向盤向後旋轉,向用戶旋轉。 |
備註
當主控台處於滑鼠模式時,滑鼠事件會放在輸入緩衝區中(ENABLE_MOUSE_INPUT)。
每當用戶移動滑鼠,或按下或放開其中一個滑鼠按鈕時,就會產生滑鼠事件。 只有當主控台群組具有鍵盤焦點,且游標位於控制台視窗的框線內時,滑鼠事件才會放在控制台的輸入緩衝區中。
範例
如需範例,請參閱讀取輸入緩衝區事件。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
頁首 | WinConTypes.h (透過 WinCon.h,包含 Windows.h) |