Condividi tramite


Mouse Input

Questa sezione descrive come il sistema fornisce l'input del mouse all'applicazione e il modo in cui l'applicazione riceve ed elabora tale input.

In questa sezione

Argomento Descrizione
Informazioni sull'input del mouse
In questo argomento viene illustrato l'input del mouse.
uso dell'input del mouse
Questa sezione illustra le attività associate all'input del mouse.
riferimento all'input del mouse

Funzioni

Nome Descrizione
_TrackMouseEvent Invia messaggi quando il puntatore del mouse lascia una finestra o passa il puntatore del mouse su una finestra per un periodo di tempo specificato. Questa funzione chiama TrackMouseEvent se esistente, in caso contrario emula.
BlockInput Blocca gli eventi di input da tastiera e mouse dal raggiungimento delle applicazioni.
dragDetect Acquisisce il mouse e tiene traccia del suo movimento finché l'utente non rilascia il pulsante sinistro, preme il tasto ESC o sposta il mouse all'esterno del rettangolo di trascinamento intorno al punto specificato. La larghezza e l'altezza del rettangolo di trascinamento vengono specificate dai valori SM_CXDRAG e SM_CYDRAG restituiti dalla funzioneGetSystemMetrics.
EnableMouseInPointer Consente al mouse di fungere da dispositivo di puntamento.
EnableWindow Abilita o disabilita l'input del mouse e della tastiera per la finestra o il controllo specificato. Quando l'input è disabilitato, la finestra non riceve input, ad esempio i clic del mouse e i tasti. Quando l'input è abilitato, la finestra riceve tutto l'input.
GetCapture Recupera un handle nella finestra (se presente) che ha acquisito il mouse. Solo una finestra alla volta può catturare il mouse; questa finestra riceve l'input del mouse indipendentemente dal fatto che il cursore si trova all'interno dei bordi.
GetDoubleClickTime Recupera l'ora corrente di doppio clic per il mouse. Un doppio clic è una serie di due clic del pulsante del mouse, il secondo che si verifica entro un intervallo di tempo specificato dopo il primo. Il tempo di doppio clic è il numero massimo di millisecondi che possono verificarsi tra il primo e il secondo clic di un doppio clic.
GetMouseMovePointsEx Recupera una cronologia di un massimo di 64 coordinate precedenti del mouse o della penna.
IsWindowEnabled Determina se la finestra specificata è abilitata per l'input del mouse e della tastiera.
ReleaseCapture Rilascia l'acquisizione del mouse da una finestra nel thread corrente e ripristina la normale elaborazione dell'input del mouse. Una finestra che ha acquisito il mouse riceve tutto l'input del mouse, indipendentemente dalla posizione del cursore, tranne quando si fa clic su un pulsante del mouse mentre il cursore si trova nella finestra di un altro thread.
SendInput Sintetizza le sequenze di tasti, i movimenti del mouse e i clic dei pulsanti.
SetCapture Imposta l'acquisizione del mouse sulla finestra specificata appartenente al thread corrente. SetCapture acquisisce l'input del mouse quando il mouse si trova sulla finestra di acquisizione o quando il pulsante del mouse è stato premuto mentre il mouse si trovava sulla finestra di acquisizione e il pulsante è ancora inattivo. Solo una finestra alla volta può catturare il mouse.
Se il cursore del mouse si trova su una finestra creata da un altro thread, il sistema indiricherà l'input del mouse alla finestra specificata solo se un pulsante del mouse è inattivo.
SetDoubleClickTime Imposta l'ora di doppio clic per il mouse. Un doppio clic è una serie di due clic di un pulsante del mouse, il secondo che si verifica entro un intervallo di tempo specificato dopo il primo. Il tempo di doppio clic è il numero massimo di millisecondi che possono verificarsi tra il primo e il secondo clic di un doppio clic.
SwapMouseButton Inverte o ripristina il significato dei pulsanti sinistro e destro del mouse.
TrackMouseEvent Invia messaggi quando il puntatore del mouse lascia una finestra o passa il puntatore del mouse su una finestra per un periodo di tempo specificato.

La funzione seguente è obsoleta.

Funzione Descrizione
mouse_event Sintetizza il movimento del mouse e i clic dei pulsanti.

Notifiche

Nome Descrizione
WM_APPCOMMAND Notifica a una finestra che l'utente ha generato un evento di comando dell'applicazione, ad esempio facendo clic su un pulsante di comando dell'applicazione usando il mouse o digitando un tasto di comando dell'applicazione sulla tastiera.
WM_CAPTURECHANGED Inviato alla finestra che sta perdendo l'acquisizione del mouse.
WM_LBUTTONDBLCLK Inviato quando l'utente fa doppio clic sul pulsante sinistro del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_LBUTTONDOWN Inviato quando l'utente preme il pulsante sinistro del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_LBUTTONUP Inviato quando l'utente rilascia il pulsante sinistro del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MBUTTONDBLCLK Inviato quando l'utente fa doppio clic sul pulsante centrale del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MBUTTONDOWN Inviato quando l'utente preme il pulsante centrale del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MBUTTONUP Inviato quando l'utente rilascia il pulsante centrale del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MOUSEACTIVATE Inviato quando il cursore si trova in una finestra inattiva e l'utente preme un pulsante del mouse. La finestra padre riceve questo messaggio solo se la finestra figlio la passa alla funzioneDefWindowProc.
WM_MOUSEHOVER Inviato a una finestra quando il cursore passa il puntatore sull'area client della finestra per il periodo di tempo specificato in una chiamata precedente a TrackMouseEvent.
WM_MOUSEHWHEEL Inviato alla finestra messa a fuoco quando la rotellina orizzontale del mouse è inclinata o ruotata. La funzioneDefWindowProcpropaga il messaggio all'elemento padre della finestra. Non dovrebbe essere presente alcun inoltro interno del messaggio, perché DefWindowProc propagarlo fino alla catena padre finché non trova una finestra che lo elabora.
WM_MOUSELEAVE Inviato a una finestra quando il cursore lascia l'area client della finestra specificata in una chiamata precedente a TrackMouseEvent.
WM_MOUSEMOVE Inserito in una finestra quando si sposta il cursore. Se il mouse non viene acquisito, il messaggio viene inviato alla finestra contenente il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MOUSEWHEEL Inviato alla finestra messa a fuoco quando la rotellina del mouse viene ruotata. La funzioneDefWindowProcpropaga il messaggio all'elemento padre della finestra. Non dovrebbe essere presente alcun inoltro interno del messaggio, perché DefWindowProc propagarlo fino alla catena padre finché non trova una finestra che lo elabora.
WM_NCHITTEST Inviato a una finestra per determinare quale parte della finestra corrisponde a una determinata coordinata dello schermo. Ciò può verificarsi, ad esempio, quando il cursore si sposta, quando viene premuto o rilasciato un pulsante del mouse o in risposta a una chiamata a una funzione, ad esempio WindowFromPoint. Se il mouse non viene acquisito, il messaggio viene inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_NCLBUTTONDBLCLK Inviato quando l'utente fa doppio clic sul pulsante sinistro del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCLBUTTONDOWN Inviato quando l'utente preme il pulsante sinistro del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCLBUTTONUP Pubblicato quando l'utente rilascia il pulsante sinistro del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCMBUTTONDBLCLK Inviato quando l'utente fa doppio clic sul pulsante centrale del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCMBUTTONDOWN Inviato quando l'utente preme il pulsante centrale del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCMBUTTONUP Inviato quando l'utente rilascia il pulsante centrale del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCMOUSEHOVER Inviato a una finestra quando il cursore passa il mouse sull'area non client della finestra per il periodo di tempo specificato in una chiamata precedente aTrackMouseEvent.
WM_NCMOUSELEAVE Inviato a una finestra quando il cursore lascia l'area non client della finestra specificata in una chiamata precedente aTrackMouseEvent.
WM_NCMOUSEMOVE Inserito in una finestra quando il cursore viene spostato all'interno dell'area non client della finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCRBUTTONDBLCLK Inviato quando l'utente fa doppio clic sul pulsante destro del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCRBUTTONDOWN Inviato quando l'utente preme il pulsante destro del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCRBUTTONUP Inviato quando l'utente rilascia il pulsante destro del mouse mentre il cursore si trova all'interno dell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCXBUTTONDBLCLK Inviato quando l'utente fa doppio clic su XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCXBUTTONDOWN Inviato quando l'utente preme XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_NCXBUTTONUP Inviato quando l'utente rilascia XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio non viene pubblicato.
WM_RBUTTONDBLCLK Inviato quando l'utente fa doppio clic sul pulsante destro del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_RBUTTONDOWN Inviato quando l'utente preme il pulsante destro del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_RBUTTONUP Pubblicato quando l'utente rilascia il pulsante destro del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_XBUTTONDBLCLK Inviato quando l'utente fa doppio clic su XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_XBUTTONDOWN Inviato quando l'utente preme XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_XBUTTONUP Inviato quando l'utente rilascia XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.

Strutture

Nome Descrizione
HARDWAREINPUT Contiene informazioni su un messaggio simulato generato da un dispositivo di input diverso da una tastiera o un mouse.
INPUT Contiene informazioni usate per la diffusione di eventi di input, ad esempio sequenze di tasti, spostamento del mouse e clic del mouse.
LASTINPUTINFO Contiene l'ora dell'ultimo input.
MOUSEINPUT Contiene informazioni su un evento del mouse simulato.
MOUSEMOVEPOINT Contiene informazioni sulla posizione del mouse nelle coordinate dello schermo.
TRACKMOUSEEVENT Utilizzato dalla funzioneTrackMouseEventper tenere traccia quando il puntatore del mouse lascia una finestra o passa il puntatore su una finestra per un periodo di tempo specificato.