Het WM_NCHITTEST bericht

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.

Index