Dela via


WM_MOUSEWHEEL meddelande

Skickas till fokusfönstret när mushjulet roteras. Funktionen DefWindowProc sprider meddelandet till fönstrets överordnade. Det bör inte finnas någon intern vidarebefordran av meddelandet eftersom DefWindowProc sprider det i den överordnade kedjan tills det hittar ett fönster som bearbetar det.

Ett fönster tar emot det här meddelandet via funktionen WindowProc.

#define WM_MOUSEWHEEL                   0x020A

Parametrar

wParam

Högordningsordet anger avståndet som hjulet roteras, uttryckt i multiplar eller uppdelningar av WHEEL_DELTA, vilket är 120. Ett positivt värde anger att hjulet roterades framåt, bort från användaren. ett negativt värde anger att hjulet roterades bakåt, mot användaren.

Lågordningsordet anger om olika virtuella nycklar är nere. Den här parametern kan vara ett eller flera av följande värden.

Värde Betydelse
MK_CONTROL
0x0008
CTRL-tangenten är nere.
MK_LBUTTON
0x0001
Vänster musknapp är nere.
MK_MBUTTON
0x0010
Den mellersta musknappen är nere.
MK_RBUTTON
0x0002
Höger musknapp är nere.
MK_SHIFT
0x0004
SKIFT-nyckeln är nere.
MK_XBUTTON1
0x0020
XBUTTON1 är nere.
MK_XBUTTON2
0x0040
XBUTTON2 är nere.

lParam

Ordet med låg ordning anger pekarens x-koordinat i förhållande till det övre vänstra hörnet på skärmen.

Högordningsordet anger pekarens y-koordinat i förhållande till det övre vänstra hörnet på skärmen.

Returvärde

Om ett program bearbetar det här meddelandet ska det returnera noll.

Anmärkningar

Använd följande kod för att hämta informationen i parametern wParam:

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

Använd följande kod för att hämta den vågräta och lodräta positionen:

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

Som nämnts ovan är x-koordinaten i låg ordning kort av returvärdet. y-koordinaten är i hög ordning kort (båda representerar signerade värden eftersom de kan ta negativa värden på system med flera övervakare). Om returvärdet tilldelas till en variabel kan du använda MAKEPOINTS- makro för att hämta en POINTS- struktur från returvärdet. Du kan också använda makrot GET_X_LPARAM eller GET_Y_LPARAM för att extrahera x- eller y-koordinaten.

Viktig

Använd inte LOWORD- eller HIWORD- makron för att extrahera x- och y-koordinaterna för markörens position eftersom dessa makron returnerar felaktiga resultat på system med flera bildskärmar. System med flera bildskärmar kan ha negativa x- och y-koordinater och LOWORD- och HIWORD- behandla koordinaterna som osignerade kvantiteter.

Hjulrotationen är en multipel av WHEEL_DELTA, som är inställd på 120. Det här är tröskelvärdet för åtgärder som ska vidtas, och en sådan åtgärd (till exempel att rulla en inkrement) bör inträffa för varje delta.

Deltat var inställt på 120 för att tillåta Microsoft eller andra leverantörer att bygga finare upplösningshjul (ett fritt roterande hjul utan skåror) för att skicka fler meddelanden per rotation, men med ett mindre värde i varje meddelande. Om du vill använda den här funktionen kan du antingen lägga till inkommande deltavärden tills WHEEL_DELTA har nåtts (så för en deltarotation får du samma svar) eller rulla partiella rader som svar på de mer frekventa meddelandena. Du kan också välja rullningskornighet och ackumulera delta tills den har nåtts.

Observera att det inte finns några fwKeys- för MSH_MOUSEWHEEL. Annars är parametrarna exakt samma som för WM_MOUSEWHEEL.

Det är upp till programmet att vidarebefordra MSH_MOUSEWHEEL till inbäddade objekt eller kontroller. Programmet måste skicka meddelandet till ett aktivt inbäddat OLE-program. Det är valfritt att programmet skickar det till en hjulaktiverad kontroll med fokus. Om programmet skickar meddelandet till en kontroll kan det kontrollera returvärdet för att se om meddelandet bearbetades. Kontroller krävs för att returnera värdet TRUE- om de bearbetar meddelandet.

Krav

Krav Värde
Lägsta klient som stöds
Windows 2000 Professional [endast skrivbordsappar]
Lägsta server som stöds
Windows 2000 Server [endast skrivbordsappar]
Rubrik
Winuser.h (inkludera Windowsx.h)

Se även

referens

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD-

LOWORD

mouse_event

konceptuell

musindata

andra resurser

GetSystemMetrics

MAKEPOINTS-

PUNKTER

SystemParametersInfo