Condividi tramite


Mouse Input

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

Contenuto della 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.
Informazioni di riferimento per l'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, altrimenti lo emula.
BlockInput Impedisce agli eventi di input della tastiera e del mouse di raggiungere le applicazioni.
DragDetect Acquisisce il mouse e tiene traccia del suo movimento fino a quando l'utente rilascia il pulsante sinistro, preme ESC o sposta il mouse all'esterno del rettangolo di trascinamento attorno al punto specificato. La larghezza e l'altezza del rettangolo di trascinamento vengono specificate dai valori SM_CXDRAG e SM_CYDRAGrestituiti dalla funzione GetSystemMetrics .
EnableMouseInPointer Consente al mouse di fungere da dispositivo di puntamento.
AbilitaWindow Abilita o disabilita l'input del mouse e della tastiera per la finestra o il controllo specificati. Quando l'input è disabilitato, la finestra non riceve input, ad esempio clic del mouse e tasti. Quando l'input è abilitato, la finestra riceve tutti gli 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 si verifica entro un determinato intervallo di tempo dopo il primo. L'ora 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 tutti gli 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 è posizionato 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 indirizza 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 si verifica entro un determinato intervallo di tempo 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 Pubblicato 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 inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_LBUTTONDOWN Pubblicato 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 inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_LBUTTONUP Pubblicato 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 inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MBUTTONDBLCLK Pubblicato 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 inviato alla 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 inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_MBUTTONUP Pubblicato 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 inviato alla 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 funzione DefWindowProc .
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 di scorrimento 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 lo propaga fino alla catena padre fino a quando 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 Inviato a una finestra quando il cursore viene spostato. 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 viene ruotata la rotellina del mouse. La funzione DefWindowProc propaga il messaggio all'elemento padre della finestra. Non dovrebbe essere presente alcun inoltro interno del messaggio, perché DefWindowProc lo propaga fino alla catena padre fino a quando 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 Pubblicato 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 Pubblicato 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 Pubblicato 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 Pubblicato 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 Pubblicato 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 puntatore 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 Inviato a 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 Pubblicato 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 Pubblicato 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 Pubblicato 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 Pubblicato quando l'utente fa doppio clic sul primo o sul secondo pulsante X 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 Pubblicato quando l'utente preme il primo o il secondo pulsante X 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 Pubblicato quando l'utente rilascia il primo o il secondo pulsante X 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 Pubblicato 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 inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_RBUTTONDOWN Pubblicato 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 inviato alla 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 inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
WM_XBUTTONDBLCLK Pubblicato quando l'utente fa doppio clic sul primo o sul secondo pulsante X mentre il cursore si trova nell'area client di una finestra. 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_XBUTTONDOWN Pubblicato quando l'utente preme il primo o il secondo pulsante X mentre il cursore si trova nell'area client di una finestra. 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_XBUTTONUP Pubblicato quando l'utente rilascia il primo o il secondo pulsante X mentre il cursore si trova nell'area client di una finestra. 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.

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 utilizzate per la sintesi 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 funzione TrackMouseEvent per tenere traccia quando il puntatore del mouse lascia una finestra o passa il puntatore su una finestra per un periodo di tempo specificato.