Condividi tramite


WM_NCXBUTTONDOWN messaggio

Inviato quando l'utente preme XBUTTON1 o XBUTTON2 mentre il cursore si trova nell'area non client di una finestra. Questo messaggio viene inviato alla finestra contenente il cursore. Se una finestra ha acquisito il mouse, questo messaggio viene non pubblicato.

Una finestra riceve questo messaggio tramite la relativa funzione WindowProc.

#define WM_NCXBUTTONDOWN                0x00AB

Parametri

wParam

La parola con ordine basso specifica il valore di hit test restituito dalla funzione defWindowProc dall'elaborazione del messaggio di WM_NCHITTEST. Per un elenco dei valori di hit test, vedere WM_NCHITTEST. La parola di ordine elevato indica quale pulsante è stato premuto. Può essere uno dei valori seguenti.

Valore Significato
XBUTTON1
0x0001
Il XBUTTON1 è stato premuto.
XBUTTON2
0x0002
Il XBUTTON2 è stato premuto.

lParam

Puntatore a una struttura POINTS che contiene le coordinate x e y del cursore. Le coordinate sono relative all'angolo superiore sinistro dello schermo.

Valore restituito

Se un'applicazione elabora questo messaggio, deve restituire TRUE. Per altre informazioni sull'elaborazione del valore restituito, vedere la sezione Osservazioni.

Osservazioni

Windows supporta i mouse con un massimo di cinque pulsanti: sinistro, centrale e destro, oltre a due pulsanti aggiuntivi denominati XBUTTON1 e XBUTTON2. I pulsanti XBUTTON1 e XBUTTON2 si trovano spesso sui lati del mouse, vicino alla base. Questi pulsanti aggiuntivi non sono presenti su tutti i mouse. Se presente, i pulsanti XBUTTON1 e XBUTTON2 vengono spesso mappati a una funzione dell'applicazione, ad esempio lo spostamento avanti e indietro in un Web browser.

Usare il codice seguente per ottenere le informazioni nel parametro wParam.

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

È anche possibile usare il codice seguente per ottenere le coordinate x e y da lParam:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Importante

Non utilizzare la LOWORD o macro HIWORD per estrarre le coordinate x e y della posizione del cursore perché queste macro restituiscono risultati non corretti nei sistemi con più monitor. I sistemi con più monitor possono avere coordinate x e y negative e LOWORD e HIWORD considerano le coordinate come quantità non firmate.

Per impostazione predefinita, la funzione DefWindowProc verifica il punto specificato per ottenere la posizione del cursore ed esegue l'azione appropriata. Se appropriato, invia il messaggio di WM_SYSCOMMAND alla finestra.

A differenza dei messaggi WM_NCLBUTTONDOWN, WM_NCMBUTTONDOWNe WM_NCRBUTTONDOWN, un'applicazione deve restituire TRUE da questo messaggio se lo elabora. In questo modo il software che simula questo messaggio nei sistemi Windows precedenti a Windows 2000 per determinare se la routine della finestra ha elaborato il messaggio o chiamato DefWindowProc per elaborarlo.

Fabbisogno

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Winuser.h (include Windowsx.h)

Vedere anche

riferimento

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONUP

WM_SYSCOMMAND

concettuale

input mouse

altre risorse

MAKEPOINTS

POINTS