次の方法で共有


MOUSE_EVENT_RECORD 構造体

重要

このドキュメントでは、エコシステム ロードマップの一部ではなくなったコンソール プラットフォームの機能について説明します。 このコンテンツを新しい製品で使用することはお勧めしませんが、今後も既存の使用をサポートし続けます。 推奨される最新のソリューションでは、クロスプラットフォーム シナリオでの互換性を最大限に高める仮想ターミナル シーケンスに重点を置いています。 この設計決定の詳細については、クラシック コンソールと仮想ターミナルのドキュメントを参照してください。

コンソール INPUT_RECORD 構造体でのマウス入力イベントについて説明します。

構文

typedef struct _MOUSE_EVENT_RECORD {
  COORD dwMousePosition;
  DWORD dwButtonState;
  DWORD dwControlKeyState;
  DWORD dwEventFlags;
} MOUSE_EVENT_RECORD;

メンバー

dwMousePosition
コンソール スクリーン バッファーの文字セル座標に関して、カーソルの場所を含む COORD 構造体。

dwButtonState
マウス ボタンの状態。 最下位ビットは、左端のマウス ボタンに対応します。 次の最下位ビットは、右端のマウス ボタンに対応します。 次のビットは、左端から 2 番目のマウス ボタンを示します。 その後、ビットはマウス ボタンに左から右に対応します。 ボタンが押された場合、ビットは 1 です。

最初の 5 つのマウス ボタンには、次の定数が定義されています。

Value 意味
FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 左端のマウス ボタン。
FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 左から 2 番目のボタン。
FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 左から 3 番目のボタン。
FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 左から 4 番目のボタン。
RIGHTMOST_BUTTON_PRESSED 0x0002 右端のマウス ボタン。

dwControlKeyState
Ctrl キーの状態。 このメンバーは、次の値の 1 以上いずれかです。

Value 意味
CAPSLOCK_ON 0x0080 CapsLock ライトがオンです。
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
マウス イベントの種類。 この値が 0 の場合は、マウス ボタンが押されているか離されていることを示します。 それ以外の場合、このメンバーは次のいずれかの値になります。

Value 意味
DOUBLE_CLICK 0x0002 ダブルクリックの 2 回目のクリック (ボタン押下) が発生しました。 最初のクリックは、通常のボタン押下イベントとして返されます。
MOUSE_HWHEELED 0x0008 水平のマウス ホイールが移動しました。

dwButtonState メンバーの上位ワードに正の値が含まれている場合、ホイールは右に回転しました。 それ以外の場合、ホイールは左に回転しました。
MOUSE_MOVED 0x0001 マウス位置の変更が発生しました。
MOUSE_WHEELED 0x0004 垂直のマウス ホイールが移動しました。

dwButtonState メンバーの上位ワードに正の値が含まれている場合、ホイールはユーザーから離れて前方に回転しました。 それ以外の場合、ホイールはユーザーに対して後方に回転しました。

解説

コンソールがマウス モード (ENABLE_MOUStandard Edition_INPUT) の場合、マウス イベントは入力バッファーに配置されます。

マウス イベントは、ユーザーがマウスを動かすか、マウス ボタンの 1 つを押すか離すたびに生成されます。 マウス イベントは、コンソール グループにキーボード フォーカスがあり、カーソルがコンソールのウィンドウの境界線内にある場合にのみ、コンソールの入力バッファーに配置されます。

例については、「入力バッファー イベントの読み取り」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー WinConTypes.h(WinCon.h 経由、Windows.h を含む)

関連項目

COORD

INPUT_RECORD

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput