Share via


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)

另請參閱

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput