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 |
|
Se även
-
referens
-
konceptuell
-
andra resurser