Zawsze, gdy wystąpi zdarzenie myszy, system wysyła komunikat WM_NCHITTEST albo okna zawierającego aktywny kursor lub okno, w którym zostały przechwycone myszy. System używa ten komunikat, aby ustalić, czy wysyłać klienta komunikat myszy obszar powierzchni lub nonclient. Aplikacja, która musi odbierać ruch myszy i wiadomości przycisk myszy musi przekazać wiadomości WM_NCHITTEST do funkcji DefWindowProc.
Parametr fikcyjnymi wiadomości WM_NCHITTEST zawiera współrzędne ekranu aktywny kursor. Funkcja DefWindowProc analizuje współrzędne i zwraca wartość testową hitem, który identyfikuje lokalizację punktu aktywnego. Wartość Trafienia badania może mieć jedną z następujących wartości.
Wartość | Lokalizację punktu aktywnego |
---|---|
HTBORDER | Na krawędzi okna, które nie mają obramowanie zmiany rozmiaru |
HTBOTTOM | Dolnej poziomej krawędzi okna |
HTBOTTOMLEFT | W lewym dolnym rogu obramowanie okna |
HTBOTTOMRIGHT | W prawym dolnym rogu obramowanie okna |
HTCAPTION | Na pasku tytułu |
HTCLIENT | W obszarze klienta |
HTCLOSE | W przycisk Zamknij. |
HTERROR | Tło ekranu lub na linii podziału między oknami (podobnie jak HTNOWHERE, z tą różnicą, że funkcja DefWindowProc tworzy dźwiękowy systemu, aby wskazać błąd) |
HTGROWBOX | W polu Rozmiar (równoznaczny z HTSIZE) |
HTHELP | Przycisk Pomoc. |
HTHSCROLL | Na pasku przewijania poziomego |
HTLEFT | W lewej krawędzi okna |
HTMENU | W menu |
HTMAXBUTTON | Przycisk Maksymalizuj. |
HTMINBUTTON | Przycisk Minimalizuj. |
HTNOWHERE | Tło ekranu lub na linii podziału między oknami |
HTREDUCE | Przycisk Minimalizuj |
HTRIGHT | W prawą krawędź okna |
HTSIZE | W polu Rozmiar (równoznaczny z HTGROWBOX) |
HTSYSMENU | W menu systemowe lub przycisk Zamknij w oknie dziecka |
HTTOP | W górnej granicy poziome okna |
HTTOPLEFT | W lewym górnym rogu obramowanie okna |
HTTOPRIGHT | W prawym górnym rogu obramowanie okna |
HTTRANSPARENT | W oknie obecnie objęte przez innego okna w tym samym wątku |
HTVSCROLL | Na pasku przewijania pionowego |
HTZOOM | Przycisk Maksymalizuj |
Jeśli kursor znajduje się w obszarze klienta okna, DefWindowProc zwraca wartość hitem badanie HTCLIENT procedurę okna. Podczas procedury okna zwraca ten kod do systemu, systemu konwertuje współrzędne ekranu aktywny kursor na współrzędne klienta, a następnie księguje odpowiedniego klienta wiadomości myszy obszar.
Funkcja DefWindowProc zwraca jeden z innych wartości testowe hitem, aktywny kursor po obszarze nonclient okna. Podczas procedury okna zwraca jedną z tych wartości testowe hitem, system księguje nonclient obszaru myszy wiadomość, umieszczenie wartość testowa hitem w wiadomości wParam parametr i Współrzędne kursora w parametrze fikcyjnymi.