滑鼠輸入 (鍵盤和滑鼠輸入)

本節說明系統如何將滑鼠輸入提供給您的應用程式,以及應用程式如何接收和處理該輸入。

本節內容

主題 描述
關於滑鼠輸入
本主題討論滑鼠輸入。
使用滑鼠輸入
本節涵蓋與滑鼠輸入相關聯的工作。
滑鼠輸入參考

函式

Name 描述
_TrackMouseEvent 當滑鼠指標離開視窗或將滑鼠指標停留在視窗上以指定的時間量張貼訊息。 如果 TrackMouseEvent 存在,則此函式會呼叫 TrackMouseEvent ,否則會模擬它。
DragDetect 擷取滑鼠並追蹤其移動,直到使用者放開左側按鈕、按下 ESC 鍵,或將滑鼠移到指定點周圍的拖曳矩形外。 拖曳矩形的寬度和高度是由GetSystemMetrics函式所傳回的SM_CXDRAG和SM_CYDRAG值所指定。
EnableMouseInPointer 可讓滑鼠做為指向裝置。
GetCapture 如果已擷取滑鼠的任何) ,則擷取視窗的控制碼 (。 一次只能擷取一個視窗;不論游標是否在其框線內,此視窗都會收到滑鼠輸入。
GetDoubleClickTime 擷取滑鼠目前的按兩下時間。 按兩下是滑鼠按鍵的兩次按一下數列,第二次是在第一次指定的時間內發生。 按兩下時間是在按兩下的第一次和第二次按一下之間可能發生的毫秒數上限。
GetMouseMovePointsEx 擷取最多 64 個先前滑鼠或手寫筆座標的歷程記錄。
ReleaseCapture 從目前線程中的視窗釋放滑鼠擷取,並還原正常滑鼠輸入處理。 擷取滑鼠的視窗會接收所有滑鼠輸入,不論游標的位置為何,除非在游標作用點位於另一個執行緒的視窗中按一下滑鼠按鍵時。
SetCapture 將滑鼠擷取設定為屬於目前線程的指定視窗。 SetCapture 會在滑鼠位於擷取視窗上方時擷取滑鼠輸入,或在滑鼠停留在擷取視窗上方時按下滑鼠按鍵,且按鈕仍然關閉時擷取滑鼠輸入。 一次只能擷取一個視窗。
如果滑鼠游標位於另一個執行緒所建立的視窗上方,則只有在滑鼠按鍵關閉時,系統才會將滑鼠輸入導向指定的視窗。
SetDoubleClickTime 設定滑鼠的按兩下時間。 按兩下是滑鼠按鍵的兩個點選系列,第二次是在第一次指定的時間內發生。 按兩下時間是在按兩下的第一次和第二次點選之間可能發生的毫秒數上限。
SwapMouseButton 反轉或還原左右滑鼠按鍵的意義。
TrackMouseEvent 當滑鼠指標離開視窗或將滑鼠指標停留在視窗上以指定的時間量張貼訊息。

下列函式已過時。

函式 描述
mouse_event 合成滑鼠動作和按鈕點選。

通知

Name 描述
WM_CAPTURECHANGED 傳送至遺失滑鼠擷取的視窗。
WM_LBUTTONDBLCLK 當使用者按兩下滑鼠左鍵,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_LBUTTONDOWN 當使用者按下滑鼠左鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_LBUTTONUP 當使用者放開滑鼠左鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_MBUTTONDBLCLK 當使用者按兩下滑鼠中間鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_MBUTTONDOWN 當使用者按下滑鼠中間鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_MBUTTONUP 當使用者放開滑鼠中間鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_MOUSEACTI加值稅E 當游標位於非使用中的視窗中,且使用者按下滑鼠按鍵時傳送。 只有當子視窗將它傳遞至 DefWindowProc 函式時,父視窗才會收到此訊息。
WM_MOUSEHOVER 當游標停留在視窗的工作區上時,在 呼叫 TrackMouseEvent之前所指定的時段內,張貼至視窗。
WM_MOUSEHWHEEL 當滑鼠的水準滾動滾輪傾斜或旋轉時,傳送至焦點視窗。 DefWindowProcfunction會將訊息傳播至視窗的父系。 訊息不應該有內部轉送,因為 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 當游標停留在視窗的非client 區域上,在呼叫toTrackMouseEvent之前所指定的時段內,張貼至視窗。
WM_NCMOUSELEAVE 當游標離開之前呼叫TrackMouseEvent中指定的視窗非client 區域時,張貼至視窗。
WM_NCMOUSEMOVE 當游標在視窗的非工作區內移動時,張貼至視窗。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCRBUTTONDBLCLK 當使用者按兩下滑鼠右鍵,游標位於視窗的非工作區內時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCRBUTTONDOWN 當使用者在游標位於視窗的非工作區內時,按下滑鼠右鍵時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCRBUTTONUP 當使用者在游標位於視窗的非工作區內時,放開滑鼠右鍵時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCXBUTTONDBLCLK 當使用者按兩下第一個或第二個 X 按鈕,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCXBUTTONDOWN 當使用者按下第一個或第二個 X 按鈕時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_NCXBUTTONUP 當使用者放開第一個或第二個 X 按鈕時,游標位於視窗的非工作區時張貼。 此訊息會張貼至包含游標的視窗。 如果視窗已擷取滑鼠,則不會張貼此訊息。
WM_RBUTTONDBLCLK 當使用者按兩下滑鼠右鍵,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_RBUTTONDOWN 當使用者在游標位於視窗的工作區時,按下滑鼠右鍵時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_RBUTTONUP 當使用者放開滑鼠右鍵時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_XBUTTONDBLCLK 當使用者按兩下第一個或第二個 X 按鈕,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_XBUTTONDOWN 當使用者按下第一個或第二個 X 按鈕時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。
WM_XBUTTONUP 當使用者放開第一個或第二個 X 按鈕時,游標位於視窗的工作區時張貼。 如果未擷取滑鼠,訊息就會張貼到游標下方的視窗。 否則,訊息會張貼至已擷取滑鼠的視窗。

結構

Name 描述
MOUSEMOVEPOINT 包含螢幕座標中滑鼠位置的相關資訊。
TRACKMOUSEEVENT TrackMouseEvent函式用來追蹤滑鼠指標離開視窗的時間,或將滑鼠停留在視窗上的指定時間量。