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 |
|
Zie ook
-
-
conceptuele
-
andere resources