messaggio WM_MOUedizione Standard WH edizione Enterprise L

Inviato alla finestra messa a fuoco quando la rotellina del mouse viene ruotata. La funzione DefWindowProc propaga il messaggio all'elemento padre della finestra. Non dovrebbe essere presente alcun inoltro interno del messaggio, poiché DefWindowProc lo propaga fino alla catena padre finché non trova una finestra che lo elabora.

Una finestra riceve questo messaggio tramite la relativa funzione WindowProc.

#define WM_MOUSEWHEEL                   0x020A

Parametri

wParam

La parola alta indica la distanza di rotazione della ruota, espressa in più o divisioni di WH edizione EnterpriseL_DELTA, ovvero 120. Un valore positivo indica che la ruota è stata ruotata in avanti, lontano dall'utente; un valore negativo indica che la ruota è stata ruotata all'indietro, verso l'utente.

La parola con ordine basso indica se diverse chiavi virtuali sono inattive. Questo parametro può essere uno o più dei valori seguenti.

Valore Significato
MK_CONTROL
0x0008
Il tasto CTRL è inattivo.
MK_LBUTTON
0x0001
Il pulsante sinistro del mouse è in basso.
MK_MBUTTON
0x0010
Il pulsante centrale del mouse è in basso.
MK_RBUTTON
0x0002
Il pulsante destro del mouse è in basso.
MK_SHIFT
0x0004
Il tasto MAIUSC è inattivo.
MK_XBUTTON1
0x0020
Il primo pulsante X è in basso.
MK_XBUTTON2
0x0040
Il secondo pulsante X è inattivo.

lParam

La parola in ordine basso specifica la coordinata x del puntatore, rispetto all'angolo superiore sinistro dello schermo.

La parola di ordine elevato specifica la coordinata y del puntatore, rispetto all'angolo superiore sinistro dello schermo.

Valore restituito

Se un'applicazione elabora questo messaggio, deve restituire zero.

Osservazioni:

Usare il codice seguente per ottenere le informazioni nel parametro wParam :

fwKeys = GET_KEYSTATE_WPARAM(wParam);
zDelta = GET_WHEEL_DELTA_WPARAM(wParam);

Usare il codice seguente per ottenere la posizione orizzontale e verticale:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Come indicato in precedenza, la coordinata x si trova nell'ordine inferiore del valore restituito. La coordinata y si trova nell'ordine più breve (entrambi rappresentano valori firmati perché possono accettare valori negativi nei sistemi con più monitor). Se il valore restituito viene assegnato a una variabile, è possibile utilizzare la macro MAKEPOINTS per ottenere una struttura POINTS dal valore restituito. È anche possibile utilizzare la macro GET_X_LPARAM o GET_Y_LPARAM per estrarre la coordinata x o y.

Importante

Non utilizzare le macro LOWORD o HIWORD per estrarre le coordinate x e y della posizione del cursore perché queste macro restituiscono risultati non corretti nei sistemi con più monitor. I sistemi con più monitor possono avere coordinate x e y negative e LOWORD e HIWORD considerano le coordinate come quantità non firmate.

La rotazione della ruota sarà un multiplo di WH edizione EnterpriseL_DELTA, impostato su 120. Si tratta della soglia per l'esecuzione dell'azione e deve verificarsi un'azione di questo tipo (ad esempio, lo scorrimento di un incremento) per ogni delta.

Il delta è stato impostato su 120 per consentire a Microsoft o ad altri fornitori di creare ruote a risoluzione più fine (una ruota a rotazione libera senza tacche) per inviare più messaggi per rotazione, ma con un valore più piccolo in ogni messaggio. Per usare questa funzionalità, è possibile aggiungere i valori delta in ingresso fino a quando non viene raggiunto WH edizione EnterpriseL_DELTA (quindi per una rotazione differenziale si ottiene la stessa risposta) o scorrere le righe parziali in risposta ai messaggi più frequenti. È anche possibile scegliere la granularità di scorrimento e accumulare delta fino a raggiungere.

Si noti che non sono presenti fwKey per MSH_MOUedizione Standard WH edizione Enterprise L. In caso contrario, i parametri sono esattamente uguali a per WM_MOUedizione Standard WH edizione Enterprise L.

Spetta all'applicazione inoltrare MSH_MOUedizione Standard WH edizione Enterprise L a qualsiasi oggetto o controllo incorporato. L'applicazione deve inviare il messaggio a un'applicazione OLE incorporata attiva. È facoltativo che l'applicazione lo invii a un controllo abilitato alla rotellina con lo stato attivo. Se l'applicazione invia il messaggio a un controllo, può controllare il valore restituito per verificare se il messaggio è stato elaborato. I controlli devono restituire un valore TRUE se elaborano il messaggio.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winuser.h (include Windowsx.h)

Vedi anche

Riferimento

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHedizione EnterpriseL_DELTA_WPARAM

HIWORD

LOWORD

mouse_event

Concettuale

Mouse Input

Altre risorse

GetSystemMetrics

MAKEPOINTS

PUNTI

Systemparametersinfo