WM_NCHITTEST meldingen

Hver gang en musehendelsen inntreffer, sender systemet en WM_NCHITTEST melding til enten vinduet som inneholder markøren aktiveringspunktet eller vinduet som har fanget musen. Systemet bruker denne meldingen for å bestemme om du vil sende en klient området eller nonclient området musen melding. Et program som må motta musebevegelsen og musen knapp meldinger må passere WM_NCHITTEST meldingen i DefWindowProc -funksjon.

LParam -parameteren for WM_NCHITTEST meldingen inneholder skjermkoordinater av markøren aktiveringspunktet. Funksjonen DefWindowProc undersøker koordinatene og returnerer en hit-test-verdi som angir plasseringen av det het flekk. Hit-test-verdien kan være en av følgende verdier.

Verdi Plasseringen av hot spot
HTBORDER I grensen av et vindu som ikke har en størrelse kantlinje
HTBOTTOM I den nederste vannrette kantlinjen i et vindu
HTBOTTOMLEFT I nedre venstre hjørne av en vindusramme
HTBOTTOMRIGHT I høyre hjørne av en vindusramme
HTCAPTION I en tittellinje
HTCLIENT I et klient-område
HTCLOSE I Lukk-knappen.
HTERROR På skjermbakgrunnen eller på en delelinjene mellom windows (samme som HTNOWHERE, bortsett fra at funksjonen DefWindowProc produserer en systempip som betyr at en feil)
HTGROWBOX I størrelse-boksen (samme som HTSIZE)
HTHELP I Hjelp-knappen.
HTHSCROLL I et vannrett rullefelt
HTLEFT I den venstre kanten av et vindu
HTMENU I en meny
HTMAXBUTTON I maksimeringsknappen.
HTMINBUTTON I minimeringsknappen.
HTNOWHERE På skjermbakgrunnen eller på en delelinjene mellom windows
HTREDUCE I en Minimer-knapp
HTRIGHT I den høyre kantlinjen i et vindu
HTSIZE I størrelse-boksen (samme som HTGROWBOX)
HTSYSMENU I en systemmenyen eller i en Lukk-knappen i et underordnet vindu
HTTOP I det øvre vannrette banneret av et vindu
HTTOPLEFT I det øvre venstre hjørnet av en vindusramme
HTTOPRIGHT I øvre høyre hjørne av en vindusramme
HTTRANSPARENT I et vindu som er dekket av et annet vindu i samme tråd
HTVSCROLL I det loddrette rullefeltet
HTZOOM I en Maksimer-knappen

Hvis markøren er i klientområdet for et vindu, returnerer DefWindowProc HTCLIENT hit-test i vinduet prosedyren. Når vinduet prosedyren returnerer denne koden til systemet, systemet konverterer skjermkoordinater av aktiveringspunktet markøren til klient-koordinater, og deretter bokføres riktig klient området musen melding.

Funksjonen DefWindowProc returnerer en av andre hit-test verdier når aktiveringspunktet markøren er i et vindu nonclient området. Når vinduet prosedyren returnerer en av disse verdiene hit-test, posterer systemet en nonclient området musen melding, å plassere verdien hit-test i meldingens wParam parameteren og markørkoordinater i lParam -parameteren.

Index