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. |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per