WM_MOUSEWHEEL messaggio
Inviato alla finestra messa a fuoco quando la rotellina del mouse viene ruotata. La funzione DefWindowProc
Una finestra riceve questo messaggio tramite la relativa funzione WindowProc.
#define WM_MOUSEWHEEL 0x020A
Parametri
-
wParam
-
La parola di ordine elevato indica la distanza di rotazione della ruota, espressa in multipli o divisioni di WHEEL_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 XBUTTON1 è inattivo. - MK_XBUTTON2
- 0x0040
Il XBUTTON2 è 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 è nell'ordine basso
Importante
Non utilizzare la LOWORD
La rotazione della ruota sarà un multiplo di WHEEL_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 raggiunta WHEEL_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 fwKeys
Spetta all'applicazione inoltrare MSH_MOUSEWHEEL 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 di TRUE se elaborano il messaggio.
Fabbisogno
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Vedere anche
-
riferimento
-
concettuale
-
altre risorse