Mesaj WM_NCHITTEST

Ori de câte ori are loc un eveniment mouse-ul, sistemul trimite un mesaj WM_NCHITTEST să fie fereastra care conține cursorul hot spot sau fereastra care a capturat mouse-ul. Sistemul utilizează acest mesaj pentru a determina dacă să trimiteți un client zona mouse-ul mesaj zona sau nonclient. O aplicație care trebuie să primească șoarece movement și mesaje butonul mouse-ului trebuie să treacă mesajul WM_NCHITTEST la funcția de DefWindowProc.

Parametrul lParam WM_NCHITTEST mesajului conține ecran Coordonatele cursorului hot spot. Funcția DefWindowProc analizează coordonatele și returnează o valoare hit-test care identifică amplasarea hot spot. Valoarea hit-test poate fi una dintre următoarele valori.

Valoarea Poziția hot spot
HTBORDER Bordura o fereastră care nu are o frontieră de dimensionare
HTBOTTOM În marginea orizontală inferioară a o fereastră
HTBOTTOMLEFT În colțul din stânga sus de chenar fereastră
HTBOTTOMRIGHT În colțul din dreapta jos de chenar fereastră
HTCAPTION Într-o bară de titlu
HTCLIENT Într-o zonă de client
HTCLOSE În butonul Închidere.
HTERROR Pe fundalul de ecran sau pe o linie de demarcație între windows (același ca HTNOWHERE, pentru cu excepția faptului că funcția DefWindowProc produce un sunet de sistem pentru a indica o eroare)
HTGROWBOX Într-o casetă de dimensiunea (la fel ca HTSIZE)
HTHELP În butonul ajutor.
HTHSCROLL În bara de defilare orizontală
HTLEFT În marginea stângă a o fereastră
HTMENU Într-un meniu
HTMAXBUTTON În butonul Maximizare.
HTMINBUTTON În butonul Minimizare.
HTNOWHERE Pe fundalul de ecran sau pe o linie de demarcație între windows
HTREDUCE Într-un buton de Minimizare
HTRIGHT În bordura din dreapta a ferestrei
HTSIZE Într-o casetă de dimensiunea (la fel ca HTGROWBOX)
HTSYSMENU Într-un sistem de meniu sau un buton strânsă într-o fereastră de copil
HTTOP În marginea orizontală superioară a o fereastră
HTTOPLEFT În colțul din stânga sus de chenar fereastră
HTTOPRIGHT În colțul din dreapta jos de chenar fereastră
HTTRANSPARENT Într-o fereastră acoperit în prezent de altă fereastră din acela?i fir
HTVSCROLL În bara de defilare pe verticală
HTZOOM Într-un buton de maximizare

În cazul în care cursorul este în zonă client o fereastră, DefWindowProc întoarce valoarea hit-test HTCLIENT la procedura de fereastra. Atunci când procedura fereastra întoarce acest cod la sistemul, sistemul convertește ecran Coordonatele cursorului hot spot pentru client coordonate ?i apoi posturi corespunzătoare client zona mouse-ul mesaj.

DefWindowProc funcția întoarce una din alte valori hit-test atunci când cursorul hot spot este în zona nonclient o fereastră. Atunci când procedura fereastra întoarce una din aceste valori hit-test, sistemul posturi o nonclient zona mouse-ul mesaj, introducerea valoarea hit-testare mesajului wParam parametru ?i coordonatele cursorului în parametrul lParam.

Index