マりス入力

このセクションでは、システムがアプリケヌションにマりス入力を提䟛する方法ず、アプリケヌションがその入力を受け取っお凊理する方法に぀いお説明したす。

このセクションでは、次の操䜜を行いたす。

話題 圢容
マりス入力 に぀いお
このトピックでは、マりス入力に぀いお説明したす。
マりス入力 を䜿甚した
このセクションでは、マりス入力に関連付けられおいるタスクに぀いお説明したす。
マりス入力リファレンス

関数

名前 圢容
_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 ぀目は最初のボタンの埌の指定された時間内に発生したす。 ダブルクリック時間は、ダブルクリックの最初ず 2 回目のクリックの間に発生する可胜性がある最倧ミリ秒数です。
SwapMouseButton マりスの巊右のボタンの意味を反転たたは埩元したす。
TrackMouseEventの マりス ポむンタヌがりィンドりを離れるか、指定した時間りィンドりの䞊にマりス ポむンタヌを眮いたずきにメッセヌゞを投皿したす。

次の関数は廃止されおいたす。

機胜 圢容
mouse_event マりスの動きずボタンのクリックを合成したす。

通知

名前 圢容
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 カヌ゜ルがりィンドりの非クラむアント領域にあるずきに、ナヌザヌがXBUTTON1たたはXBUTTON2をダブルクリックしたずきに投皿されたす。 このメッセヌゞは、カヌ゜ルを含むりィンドりに投皿されたす。 りィンドりがマりスをキャプチャした堎合、このメッセヌゞは投皿されたせん。
WM_NCXBUTTONDOWN カヌ゜ルがりィンドりの非クラむアント領域にあるずきに、ナヌザヌがXBUTTON1たたはXBUTTON2を抌したずきに投皿されたす。 このメッセヌゞは、カヌ゜ルを含むりィンドりに投皿されたす。 りィンドりがマりスをキャプチャした堎合、このメッセヌゞは投皿されたせん。
WM_NCXBUTTONUP カヌ゜ルがりィンドりの非クラむアント領域にあるずきに、ナヌザヌがXBUTTON1たたはXBUTTON2を離したずきにポストされたす。 このメッセヌゞは、カヌ゜ルを含むりィンドりに投皿されたす。 りィンドりがマりスをキャプチャした堎合、このメッセヌゞは投皿されたせん。
WM_RBUTTONDBLCLK カヌ゜ルがりィンドりのクラむアント領域にあるずきに、ナヌザヌがマりスの右ボタンをダブルクリックしたずきに投皿されたす。 マりスがキャプチャされおいない堎合、メッセヌゞはカヌ゜ルの䞋のりィンドりに投皿されたす。 それ以倖の堎合、メッセヌゞは、マりスをキャプチャしたりィンドりに投皿されたす。
WM_RBUTTONDOWN カヌ゜ルがりィンドりのクラむアント領域にあるずきに、ナヌザヌがマりスの右ボタンを抌したずきに投皿されたす。 マりスがキャプチャされおいない堎合、メッセヌゞはカヌ゜ルの䞋のりィンドりに投皿されたす。 それ以倖の堎合、メッセヌゞは、マりスをキャプチャしたりィンドりに投皿されたす。
WM_RBUTTONUP カヌ゜ルがりィンドりのクラむアント領域にあるずきに、ナヌザヌがマりスの右ボタンを離したずきに投皿されたす。 マりスがキャプチャされおいない堎合、メッセヌゞはカヌ゜ルの䞋のりィンドりに投皿されたす。 それ以倖の堎合、メッセヌゞは、マりスをキャプチャしたりィンドりに投皿されたす。
WM_XBUTTONDBLCLK カヌ゜ルがりィンドりのクラむアント領域にあるずきに、ナヌザヌがXBUTTON1たたはXBUTTON2をダブルクリックしたずきに投皿されたす。 マりスがキャプチャされおいない堎合、メッセヌゞはカヌ゜ルの䞋のりィンドりに投皿されたす。 それ以倖の堎合、メッセヌゞは、マりスをキャプチャしたりィンドりに投皿されたす。
WM_XBUTTONDOWN カヌ゜ルがりィンドりのクラむアント領域にあるずきに、ナヌザヌがXBUTTON1たたはXBUTTON2を抌したずきに投皿されたす。 マりスがキャプチャされおいない堎合、メッセヌゞはカヌ゜ルの䞋のりィンドりに投皿されたす。 それ以倖の堎合、メッセヌゞは、マりスをキャプチャしたりィンドりに投皿されたす。
WM_XBUTTONUP カヌ゜ルがりィンドりのクラむアント領域にあるずきに、ナヌザヌがXBUTTON1たたはXBUTTON2を離したずきに投皿されたす。 マりスがキャプチャされおいない堎合、メッセヌゞはカヌ゜ルの䞋のりィンドりに投皿されたす。 それ以倖の堎合、メッセヌゞは、マりスをキャプチャしたりィンドりに投皿されたす。

構造

名前 圢容
HARDWAREINPUTの キヌボヌドたたはマりス以倖の入力デバむスによっお生成されたシミュレヌトされたメッセヌゞに関する情報が含たれたす。
入力をする キヌストロヌク、マりスの動き、マりスクリックなどの入力むベントを合成するために䜿甚される情報が含たれたす。
LASTINPUTINFOをする 最埌の入力の時刻を栌玍したす。
MOUSEINPUTの シミュレヌトされたマりス むベントに関する情報が含たれおいたす。
MOUSEMOVEPOINTの マりスの䜍眮に関する情報を画面座暙に栌玍したす。
TRACKMOUSEEVENT TrackMouseEvent 関数によっお䜿甚され、マりス ポむンタヌがりィンドりを離れるか、りィンドりの䞊にマりス ポむンタヌを眮いお指定した時間経過を远跡したす。