Il messaggio WM_NCHITTEST viene inviato a una finestra quando il cursore si sposta, o quando un pulsante del mouse è premuto o rilasciato. Se non viene acquisito il mouse, il messaggio viene inviato alla finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha catturato il mouse.
WM_NCHITTEST xPos = LOWORD(lParam); / / orizzontale posizione del cursore yPos = HIWORD(lParam); / / verticale posizione del cursore
Il valore restituito della funzione DefWindowProc è uno dei valori seguenti, che indica la posizione del punto caldo del cursore:
| Valore | Ubicazione del punto caldo |
|---|---|
| HTBORDER | Alla frontiera di una finestra che non dispone di un bordo di ridimensionamento |
| HTBOTTOM | Alla frontiera orizzontale inferiore di una finestra ridimensionabile (l'utente può fare clic del mouse per ridimensionare la finestra verticalmente) |
| HTBOTTOMLEFT | Nell'angolo in basso a sinistra di un bordo di una finestra ridimensionabile (l'utente può fare clic del mouse per ridimensionare la finestra in diagonale) |
| HTBOTTOMRIGHT | Nell'angolo inferiore destro di un bordo di una finestra ridimensionabile (l'utente può fare clic del mouse per ridimensionare la finestra in diagonale) |
| HTCAPTION | Una barra del titolo |
| HTCLIENT | In un'area client |
| HTCLOSE | In un pulsante di chiusura |
| HTERROR | Sullo sfondo dello schermo o su una linea di demarcazione tra le finestre (Idem come HTNOWHERE, salvo che la funzione DefWindowProc produce un beep di sistema per indicare un errore) |
| HTGROWBOX | In una finestra di dimensioni (analogo a HTSIZE) |
| HTHELP | In un pulsante? |
| HTHSCROLL | In una barra di scorrimento orizzontale |
| HTLEFT | Nel bordo sinistro di una finestra ridimensionabile (l'utente può fare clic del mouse per ridimensionare la finestra orizzontalmente) |
| HTMENU | In un menu |
| HTMAXBUTTON | Nel pulsante Ingrandisci |
| HTMINBUTTON | Nel pulsante Riduci a icona |
| HTNOWHERE | Sullo sfondo dello schermo o su una linea di demarcazione tra le finestre |
| HTREDUCE | In un pulsante Riduci a icona |
| HTRIGHT | Nel bordo destro di una finestra ridimensionabile (l'utente può fare clic del mouse per ridimensionare la finestra orizzontalmente) |
| HTSIZE | In una finestra di dimensioni (analogo a HTGROWBOX) |
| HTSYSMENU | In un menu di sistema o in un pulsante Chiudi in una finestra figlio |
| HTTOP | Nel bordo superiore orizzontale di una finestra |
| HTTOPLEFT | Nell'angolo superiore sinistro di un bordo di finestra |
| HTTOPRIGHT | In alto a destra di un bordo di finestra |
| HTTRANSPARENT | In una finestra attualmente coperta da un'altra finestra nel thread stesso (il messaggio sarà inviato a windows sottostante nel thread stesso fino a quando uno di loro restituisce un codice che non è HTTRANSPARENT) |
| HTVSCROLL | Nella barra di scorrimento verticale |
| HTZOOM | In un pulsante Ingrandisci |
Un'applicazione può utilizzare la macro MAKEPOINTS per convertire il parametro lParam a una struttura di punti.
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarata in winuser.
Cenni preliminari sull'Input del mouse, i messaggi di Input del Mouse, DefWindowProc, MAKEPOINTS, punti