マウス入力
このセクションでは、システムがアプリケーションにマウス入力を提供する方法と、アプリケーションがその入力を受け取って処理する方法について説明します。
このセクションの内容
トピック | 説明 |
---|---|
マウス入力について |
このトピックでは、マウス入力について説明します。 |
マウス入力の使用 |
このセクションでは、マウス入力に関連するタスクについて説明します。 |
マウス入力リファレンス |
関数
Name | Description |
---|---|
_TrackMouseEvent | マウス ポインターがウィンドウを離れるか、指定した時間だけウィンドウの上にマウス ポインターを置いたときにメッセージを投稿します。 この関数は、存在する場合 は TrackMouseEvent を呼び出し、それ以外の場合はエミュレートします。 |
BlockInput | キーボードとマウスの入力イベントがアプリケーションに到達するのをブロックします。 |
DragDetect | マウスをキャプチャし、ユーザーが左ボタンを離すか、Esc キーを押すか、または指定した点を中心にしたドラッグ四角形の外にマウスを移動するまで、移動を追跡します。 ドラッグ四角形の幅と高さは、GetSystemMetrics 関数によって返されるSM_CXDRAG値とSM_CYDRAG値によって指定されます。 |
EnableMouseInPointer | マウスをポインティング デバイスとして機能できるようにします。 |
EnableWindow | 指定したウィンドウまたはコントロールへのマウスとキーボードの入力を有効または無効にします。 入力を無効にすると、マウスのクリックやキーの押下などの入力がウィンドウに表示されません。 入力が有効になっている場合、ウィンドウはすべての入力を受け取ります。 |
GetCapture | マウスをキャプチャしたウィンドウへのハンドル (存在する場合) を取得します。 マウスをキャプチャできるウィンドウは一度に 1 つだけです。このウィンドウは、カーソルが境界線内にあるかどうかに関係なく、マウス入力を受け取ります。 |
GetDoubleClickTime | マウスの現在のダブルクリック時間を取得します。 ダブルクリックとは、マウス ボタンの 2 回のクリックの連続であり、2 つ目は最初のボタンの後の指定された時間内に発生します。 ダブルクリック時間は、ダブルクリックの 1 回目と 2 回目のクリックの間に発生する可能性がある最大ミリ秒数です。 |
GetMouseMovePointsEx | マウスまたはペンの最大 64 個の以前の座標の履歴を取得します。 |
IsWindowEnabled | 指定したウィンドウがマウスとキーボードの入力に対して有効になっているかどうかを判断します。 |
ReleaseCapture | 現在のスレッドのウィンドウからマウス キャプチャを解放し、通常のマウス入力処理を復元します。 マウスをキャプチャしたウィンドウは、カーソルの位置に関係なく、すべてのマウス入力を受け取ります。ただし、カーソルのホット スポットが別のスレッドのウィンドウにある間にマウス ボタンがクリックされた場合を除きます。 |
SendInput | キーストローク、マウスの動き、ボタンクリックを合成します。 |
SetCapture | マウス キャプチャを、現在のスレッドに属する指定されたウィンドウに設定します。 SetCapture は、マウスがキャプチャ ウィンドウの上にある場合、またはマウスがキャプチャ ウィンドウの上にあり、ボタンがまだダウンしている間にマウス ボタンが押されたときに、マウス入力をキャプチャします。 マウスをキャプチャできるウィンドウは一度に 1 つだけです。 別のスレッドによって作成されたウィンドウの上にマウス カーソルがある場合、マウス ボタンがダウンしている場合にのみ、マウス入力が指定されたウィンドウに送られます。 |
SetDoubleClickTime | マウスのダブルクリック時間を設定します。 ダブルクリックとは、一連の 2 回のマウス ボタンのクリックであり、2 つ目は最初のボタンの後の指定された時間内に発生します。 ダブルクリック時間は、ダブルクリックの 1 回目と 2 回目のクリックの間に発生する可能性がある最大ミリ秒数です。 |
SwapMouseButton | マウスの左右のボタンの意味を反転または復元します。 |
TrackMouseEvent | マウス ポインターがウィンドウを離れるか、指定した時間だけウィンドウの上にマウス ポインターを置いたときにメッセージを投稿します。 |
次の関数は廃止されました。
機能 | Description |
---|---|
mouse_event | マウスの動きとボタンのクリックを合成します。 |
通知
名前 | Description |
---|---|
WM_APPCOMMAND | ユーザーがアプリケーション コマンド イベントを生成したことをウィンドウに通知します。たとえば、マウスを使用してアプリケーション コマンド ボタンをクリックするか、キーボードにアプリケーション コマンド キーを入力します。 |
WM_CAPTURECHANGED | マウス キャプチャを失っているウィンドウに送信されます。 |
WM_LBUTTONDBLCLK | カーソルがウィンドウのクライアント領域にあるときに、ユーザーがマウスの左ボタンをダブルクリックしたときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
WM_LBUTTONDOWN | ユーザーがマウスの左ボタンを押したときに、カーソルがウィンドウのクライアント領域にあるときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
WM_LBUTTONUP | カーソルがウィンドウのクライアント領域にあるときに、ユーザーがマウスの左ボタンを離したときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
WM_MBUTTONDBLCLK | ユーザーがマウスの中央ボタンをダブルクリックしたときに、カーソルがウィンドウのクライアント領域にあるときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
WM_MBUTTONDOWN | ユーザーがマウスの中央ボタンを押したときに、カーソルがウィンドウのクライアント領域にあるときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
WM_MBUTTONUP | カーソルがウィンドウのクライアント領域にあるときに、ユーザーがマウスの中央ボタンを離したときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウに投稿されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
WM_MOUSEACTIVATE | カーソルが非アクティブなウィンドウにあり、ユーザーがマウス ボタンを押したときに送信されます。 親ウィンドウは、子ウィンドウが DefWindowProc 関数に渡す場合にのみ、このメッセージを受け取ります。 |
WM_MOUSEHOVER | TrackMouseEvent の以前の呼び出しで指定された期間、ウィンドウのクライアント領域にカーソルが置かれたときにウィンドウにポストされます。 |
WM_MOUSEHWHEEL | マウスの水平スクロール ホイールが傾いているか回転したときにフォーカス ウィンドウに送信されます。 DefWindowProc関数は、メッセージをウィンドウの親に伝達します。 メッセージを処理するウィンドウが見つかるまで、 DefWindowProc によって親チェーンに伝達されるため、メッセージの内部転送は行われません。 |
WM_MOUSELEAVE | TrackMouseEvent の以前の呼び出しで指定されたウィンドウのクライアント領域からカーソルが離れると、ウィンドウにポストされます。 |
Wm_mousemove | カーソルが移動したときにウィンドウにポストされます。 マウスがキャプチャされない場合、メッセージはカーソルを含むウィンドウにポストされます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。 |
WM_MOUSEWHEEL | マウス ホイールが回転したときにフォーカス ウィンドウに送信されます。 DefWindowProc 関数は、メッセージをウィンドウの親に伝達します。 メッセージを処理するウィンドウが見つかるまで、 DefWindowProc によって親チェーンに伝達されるため、メッセージの内部転送は行われません。 |
WM_NCHITTEST | 特定の画面座標に対応するウィンドウの部分を決定するために、ウィンドウに送信されます。 これは、たとえば、カーソルが移動したとき、マウス ボタンが押されたり離されたりしたとき、 または WindowFromPoint などの関数の呼び出しに応答して発生する可能性があります。 マウスがキャプチャされない場合は、カーソルの下のウィンドウにメッセージが送信されます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが送信されます。 |
WM_NCLBUTTONDBLCLK | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの左ボタンをダブルクリックしたときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCLBUTTONDOWN | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの左ボタンを押したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCLBUTTONUP | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの左ボタンを離したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCMBUTTONDBLCLK | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの中央ボタンをダブルクリックしたときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCMBUTTONDOWN | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの中央ボタンを押したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCMBUTTONUP | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの中央ボタンを離したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCMOUSEHOVER | TrackMouseEvent の以前の呼び出しで指定された期間、ウィンドウの非クライアント領域にカーソルが置かれたときにウィンドウにポストされます。 |
WM_NCMOUSELEAVE | TrackMouseEvent の以前の呼び出しで指定されたウィンドウの非クライアント領域からカーソルが離れると、ウィンドウにポストされます。 |
WM_NCMOUSEMOVE | ウィンドウの非クライアント領域内でカーソルが移動されると、ウィンドウにポストされます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCRBUTTONDBLCLK | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの右ボタンをダブルクリックしたときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCRBUTTONDOWN | カーソルがウィンドウの非クライアント領域内にあるときにユーザーがマウスの右ボタンを押したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCRBUTTONUP | カーソルがウィンドウの非クライアント領域内にあるときに、ユーザーがマウスの右ボタンを離したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCXBUTTONDBLCLK | カーソルがウィンドウの非クライアント領域にあるときに、ユーザーが 1 番目または 2 番目の X ボタンをダブルクリックしたときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCXBUTTONDOWN | カーソルがウィンドウの非クライアント領域にあるときに、ユーザーが 1 番目または 2 番目の X ボタンを押したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_NCXBUTTONUP | カーソルがウィンドウの非クライアント領域にあるときに、ユーザーが 1 番目または 2 番目の X ボタンを離したときに投稿されます。 このメッセージは、カーソルを含むウィンドウに投稿されます。 ウィンドウがマウスをキャプチャした場合、このメッセージは投稿されません。 |
WM_RBUTTONDBLCLK | カーソルがウィンドウのクライアント領域にあるときに、ユーザーがマウスの右ボタンをダブルクリックしたときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウにポストされます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。 |
WM_RBUTTONDOWN | カーソルがウィンドウのクライアント領域にあるときにユーザーがマウスの右ボタンを押したときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウにポストされます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。 |
WM_RBUTTONUP | カーソルがウィンドウのクライアント領域にあるときに、ユーザーがマウスの右ボタンを離したときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウにポストされます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。 |
WM_XBUTTONDBLCLK | カーソルがウィンドウのクライアント領域にあるときに、ユーザーが 1 番目または 2 番目の X ボタンをダブルクリックしたときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウにポストされます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。 |
WM_XBUTTONDOWN | カーソルがウィンドウのクライアント領域にあるときに、ユーザーが 1 番目または 2 番目の X ボタンを押したときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウにポストされます。 それ以外の場合、メッセージはマウスをキャプチャしたウィンドウに投稿されます。 |
WM_XBUTTONUP | カーソルがウィンドウのクライアント領域にあるときに、ユーザーが 1 番目または 2 番目の X ボタンを離したときに投稿されます。 マウスがキャプチャされない場合、メッセージはカーソルの下のウィンドウにポストされます。 それ以外の場合は、マウスをキャプチャしたウィンドウにメッセージが投稿されます。 |
構造
Name | Description |
---|---|
HARDWAREINPUT | キーボードまたはマウス以外の入力デバイスによって生成されたシミュレートされたメッセージに関する情報が含まれます。 |
入力 | キーストローク、マウスの動き、マウスクリックなどの入力イベントを合成するために使用される情報が含まれます。 |
LASTINPUTINFO | 最後の入力の時刻を格納します。 |
MOUSEINPUT | シミュレートされたマウス イベントに関する情報が含まれます。 |
MOUSEMOVEPOINT | マウスの位置に関する情報を画面座標に格納します。 |
TRACKMOUSEEVENT | TrackMouseEvent 関数によって使用され、マウス ポインターがウィンドウを離れるか、指定した時間だけウィンドウの上にマウス ポインターを置いたときに追跡されます。 |
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示