Wanneer een muisgebeurtenis optreedt, stuurt het systeem een WM_NCHITTEST -bericht naar hetzij het venster waarin de cursor hotspot of het venster dat de muis heeft gevangen. Het systeem gebruikt dit bericht om te bepalen of een client gebied of nonclient gebied muis bericht verzenden. Een toepassing die muisbeweging en muis knop berichten moet ontvangen moet de WM_NCHITTEST boodschap doorgeven aan de functie DefWindowProc.
De parameter lParam van het WM_NCHITTEST bericht bevat de schermcoördinaten van de cursor hot spot. De DefWindowProc functie onderzoekt de coördinaten en geeft als resultaat een waarde van testen voor een treffer waarmee de locatie van de hot spot. De testen voor een treffer waarde kan een van de volgende waarden worden.
Waarde | Locatie van hot spot |
---|---|
HTBORDER | In de rand van een venster dat niet over een rand met formaatgrepen |
HTBOTTOM | In de onderste horizontale rand van een venster |
HTBOTTOMLEFT | In de linker benedenhoek van de rand van een venster |
HTBOTTOMRIGHT | In de lagere juiste hoek van de rand van een venster |
HTCAPTION | In een titelbalk |
HTCLIENT | In een client area |
HTCLOSE | In de knop sluiten. |
HTERROR | Op de schermachtergrond van het of op een scheidslijn tussen windows (hetzelfde als HTNOWHERE, behalve dat de DefWindowProc functie produceert een pieptoon systeem een fout optreedt) |
HTGROWBOX | In een vak grootte (hetzelfde als HTSIZE) |
HTHELP | In de Help-knop. |
HTHSCROLL | In een horizontale schuifbalk |
HTLEFT | In de linkerrand van een venster |
HTMENU | In een menu |
HTMAXBUTTON | In de knop maximaliseren. |
HTMINBUTTON | In de knop Minimaliseren. |
HTNOWHERE | Op de schermachtergrond van het of op een scheidslijn tussen windows |
HTREDUCE | In een knop Minimaliseren |
HTRIGHT | In de rechterrand van een venster |
HTSIZE | In een vak grootte (hetzelfde als HTGROWBOX) |
HTSYSMENU | In een systeemmenu of een knop in een onderliggend venster sluiten |
HTTOP | In de bovenste horizontale rand van een venster |
HTTOPLEFT | In de linkerbovenhoek van de rand van een venster |
HTTOPRIGHT | In de hogere juiste hoek van de rand van een venster |
HTTRANSPARENT | In een venster momenteel gedekt door een ander venster in dezelfde thread |
HTVSCROLL | In de verticale schuifbalk |
HTZOOM | In een knop maximaliseren |
Als de cursor zich in het clientgebied van een venster, retourneert DefWindowProc de waarde HTCLIENT testen voor een treffer naar de venster-procedure. Wanneer het venster procedure deze code aan het systeem geeft, het systeem zet de schermcoördinaten van de cursor hot spot om client coördinaten en vervolgens de juiste client posts gebied muis bericht.
De functie DefWindowProc retourneert een van de andere testen voor een treffer waarden als de cursor hotspot in een venster van nonclient staat. Wanneer u het venster procedure retourneert een van deze waarden testen voor een treffer, posten het systeem een nonclient gebied muis bericht, plaatsen van de waarde van testen voor een treffer in van het bericht wParam parameter en de cursorcoördinaten van de in de parameter lParam.