Delen via


WM_MOUSEWHEEL bericht

Verzonden naar het focusvenster wanneer het muiswiel wordt gedraaid. De functie DefWindowProc het bericht doorgegeven aan het bovenliggende venster. Er mag geen intern doorsturen van het bericht zijn, omdat DefWindowProc deze doorgeeft aan de bovenliggende keten totdat er een venster wordt gevonden dat het verwerkt.

Een venster ontvangt dit bericht via de functie WindowProc.

#define WM_MOUSEWHEEL                   0x020A

Parameters

wParam-

Het woord met hoge volgorde geeft aan hoe ver het wiel wordt gedraaid, uitgedrukt in veelvouden of delen van WHEEL_DELTA, dat is 120. Een positieve waarde geeft aan dat het wiel vooruit is gedraaid, weg van de gebruiker; een negatieve waarde geeft aan dat het wiel achterwaarts is gedraaid naar de gebruiker.

Het woord met een lage volgorde geeft aan of verschillende virtuele sleutels niet beschikbaar zijn. Deze parameter kan een of meer van de volgende waarden zijn.

Waarde Betekenis
MK_CONTROL
0x0008
De Ctrl-toets is niet beschikbaar.
MK_LBUTTON
0x0001
De linkermuisknop is offline.
MK_MBUTTON
0x0010
De middelste muisknop is omlaag.
MK_RBUTTON
0x0002
De rechtermuisknop is omlaag.
MK_SHIFT
0x0004
De Shift-toets is niet beschikbaar.
MK_XBUTTON1
0x0020
De XBUTTON1 is offline.
MK_XBUTTON2
0x0040
De XBUTTON2 is uit.

lParam-

Het woord met lage volgorde geeft de x-coördinaat van de aanwijzer op ten opzichte van de linkerbovenhoek van het scherm.

Het woord met hoge volgorde geeft de y-coördinaat van de aanwijzer op ten opzichte van de linkerbovenhoek van het scherm.

Retourwaarde

Als een toepassing dit bericht verwerkt, moet het nul retourneren.

Opmerkingen

Gebruik de volgende code om de informatie op te halen in de parameter wParam:

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

Gebruik de volgende code om de horizontale en verticale positie te verkrijgen:

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

Zoals hierboven vermeld, bevindt de x-coördinaat zich in de lage volgorde korte van de retourwaarde; de y-coördinaat bevindt zich in de volgorde korte (beide vertegenwoordigen ondertekende waarden omdat ze negatieve waarden op systemen met meerdere monitors kunnen aannemen). Als de retourwaarde is toegewezen aan een variabele, kunt u de macro MAKEPOINTS- gebruiken om een PUNTEN structuur te verkrijgen van de retourwaarde. U kunt ook de GET_X_LPARAM of GET_Y_LPARAM macro gebruiken om de x- of y-coördinaat op te halen.

Belangrijk

Gebruik de LOWORD- of HIWORD- macro's niet om de x- en y-coördinaten van de cursorpositie te extraheren, omdat deze macro's onjuiste resultaten retourneren op systemen met meerdere beeldschermen. Systemen met meerdere monitors kunnen negatieve x- en y-coördinaten hebben, en LOWORD- en HIWORD- de coördinaten behandelen als niet-ondertekende hoeveelheden.

De wielrotatie is een veelvoud van WHEEL_DELTA, die is ingesteld op 120. Dit is de drempelwaarde voor actie die moet worden uitgevoerd en een dergelijke actie (bijvoorbeeld één stap schuiven) moet plaatsvinden voor elke delta.

De delta is ingesteld op 120, zodat Microsoft of andere leveranciers nauwkeurigere resolutiewielen (een vrij draaiend wiel zonder inkepingen) kunnen bouwen om meer berichten per draaiing te verzenden, maar met een kleinere waarde in elk bericht. Als u deze functie wilt gebruiken, kunt u de binnenkomende deltawaarden toevoegen totdat WHEEL_DELTA is bereikt (dus voor een deltarotatie krijgt u hetzelfde antwoord) of gedeeltelijke lijnen schuiven als reactie op de frequentere berichten. U kunt ook uw schuifgranulariteit kiezen en delta's verzamelen totdat deze is bereikt.

Opmerking: er is geen fwKeys- voor MSH_MOUSEWHEEL. Anders zijn de parameters precies hetzelfde als voor WM_MOUSEWHEEL.

Het is aan de toepassing om MSH_MOUSEWHEEL door te sturen naar ingesloten objecten of besturingselementen. De toepassing is vereist om het bericht te verzenden naar een actieve ingesloten OLE-toepassing. Het is optioneel dat de toepassing deze naar een besturingselement met wielbesturing met focus verzendt. Als de toepassing het bericht naar een besturingselement verzendt, kan het de retourwaarde controleren om te zien of het bericht is verwerkt. Besturingselementen zijn vereist voor het retourneren van een waarde van TRUE als ze het bericht verwerken.

Eisen

Eis Waarde
Minimaal ondersteunde client
Windows 2000 Professional [alleen desktop-apps]
Minimaal ondersteunde server
Windows 2000 Server [alleen desktop-apps]
Rubriek
Winuser.h (inclusief Windowsx.h)

Zie ook

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_Y_LPARAM

GET_WHEEL_DELTA_WPARAM

HIWORD-

LOWORD-

mouse_event

conceptuele

muisinvoer

andere resources

GetSystemMetrics-

MAKEPOINTS-

PUNTEN

SystemParametersInfo-