Die WM_NCHITTEST-Nachricht

Sobald ein Mausereignis auftritt, sendet das System einer Nachricht WM_NCHITTEST entweder das Fenster, das den Cursorhotspot enthält oder das Fenster, das die Maus erfasst hat. Das System verwendet diese Nachricht zu um bestimmen, ob ein Client Bereich oder nicht-Clientbereiche Bereich Maus Nachricht senden. Eine Anwendung, die Mausbewegung und die Maus Schaltfläche Nachrichten empfangen muss muss die WM_NCHITTEST-Nachricht an die DefWindowProc -Funktion übergeben.

Der lParam -Parameter der WM_NCHITTEST-Nachricht enthält die Bildschirmkoordinaten der den Cursorhotspot. Die DefWindowProc -Funktion untersucht die Koordinaten und gibt einen Trefferüberprüfung-Wert, der den Speicherort des Hotspots identifiziert. Der Trefferüberprüfung Wert kann einer der folgenden Werte sein.

Wert Lage von Hot spot
HTBORDER An der Grenze eines Fensters, das eine Größenanpassungsrahmens keinen
HTBOTTOM In die untere horizontale Rahmenlinie eines Fensters
HTBOTTOMLEFT In der linken unteren Ecke des Fensterrahmens
HTBOTTOMRIGHT In der rechten unteren Ecke des Fensterrahmens
HTCAPTION In einer Titelzeile
HTCLIENT In einer Client-Bereich
HTCLOSE In der Schaltfläche "schließen".
HTERROR Auf dem Bildschirmhintergrund oder auf eine Trennlinie zwischen den Fenstern (wie HTNOWHERE, außer dass die DefWindowProc -Funktion einen Signalton System erzeugt um einen Fehler anzuzeigen)
HTGROWBOX In einer Größe-Box (wie HTSIZE)
HTHELP Hilfe Taste.
HTHSCROLL Auf einer horizontalen Bildlaufleiste
HTLEFT In der linken Rahmenlinie eines Fensters
HTMENU In einem Menü
HTMAXBUTTON Maximieren-Schaltfläche.
HTMINBUTTON Minimieren-Schaltfläche.
HTNOWHERE Auf dem Bildschirmhintergrund oder eine Trennlinie zwischen Windows
HTREDUCE In eine Minimieren-Schaltfläche
HTRIGHT In der rechten Rahmenlinie eines Fensters
HTSIZE In einer Größe-Box (wie HTGROWBOX)
HTSYSMENU In einem Systemmenü oder eine Schaltfläche Schließen in einem untergeordneten Fenster
HTTOP In die obere horizontale Rahmenlinie eines Fensters
HTTOPLEFT In der oberen linken Ecke des Fensterrahmens
HTTOPRIGHT In der oberen rechten Ecke des Fensterrahmens
HTTRANSPARENT In einem Fenster, das derzeit von einem anderen Fenster in demselben Thread abgedeckt
HTVSCROLL In der vertikalen Bildlaufleiste
HTZOOM In eine Maximieren-Schaltfläche

Wenn der Cursor im Clientbereich eines Fensters befindet, gibt DefWindowProc den HTCLIENT-Wert Treffertests an die Fensterprozedur. Die Fensterprozedur dieser Code auf dem System gibt, das System die Bildschirmkoordinaten der den Cursorhotspot Clientkoordinaten konvertiert, und dann den entsprechenden Client Bereich Mausmeldung Beiträge.

Die DefWindowProc -Funktion gibt einen der anderen Werte für Treffertests zurück, wenn den Cursorhotspot im nicht-Clientbereich eines Fensters befindet. Wenn die Fensterprozedur einen der folgenden Werte Trefferüberprüfung zurückgegeben wird, Bucht das System ein nicht-Clientbereiche Bereich Mausmeldung, indem den Wert Treffertests in die Nachricht wParam -Parameter und die Cursor-Koordinaten im lParam -parameter.

Index