WM_MBUTTONUP messaggio
Inviato quando l'utente rilascia il pulsante centrale del mouse mentre il cursore si trova nell'area client di una finestra. Se il mouse non viene acquisito, il messaggio viene inserito nella finestra sotto il cursore. In caso contrario, il messaggio viene inviato alla finestra che ha acquisito il mouse.
Una finestra riceve questo messaggio tramite la relativa funzione WindowProc.
#define WM_MBUTTONUP 0x0208
Parametri
-
wParam
-
Indica se diverse chiavi virtuali sono inattivi. Questo parametro può essere uno o più dei valori seguenti.
Valore Significato - MK_CONTROL
- 0x0008
Il tasto CTRL è inattivo. - MK_LBUTTON
- 0x0001
Il pulsante sinistro del mouse è in basso. - MK_MBUTTON
- 0x0010
Il pulsante centrale del mouse è in basso. - MK_RBUTTON
- 0x0002
Il pulsante destro del mouse è in basso. - MK_SHIFT
- 0x0004
Il tasto MAIUSC è inattivo. - MK_XBUTTON1
- 0x0020
Il primo pulsante X è in basso. - MK_XBUTTON2
- 0x0040
Il secondo pulsante X è inattivo. -
lParam
-
La parola con ordine basso specifica la coordinata x del cursore. La coordinata è relativa all'angolo superiore sinistro dell'area client.
La parola di ordine elevato specifica la coordinata y del cursore. La coordinata è relativa all'angolo superiore sinistro dell'area client.
Si noti che quando è presente un menu di scelta rapida (visualizzato), le coordinate sono relative allo schermo, non all'area client. Poiché TrackPopupMenu è una chiamata asincrona e la notifica WM_MBUTTONUP non dispone di un flag speciale che indica la derivazione delle coordinate, un'applicazione non può stabilire se le coordinate x,y contenute in lParam sono relative allo schermo o all'area client.
Valore restituito
Se un'applicazione elabora questo messaggio, deve restituire zero.
Osservazioni:
Usare il codice seguente per ottenere la posizione orizzontale e verticale:
xPos = GET_X_LPARAM(lParam);
yPos = GET_Y_LPARAM(lParam);
Come indicato in precedenza, la coordinata x si trova nell'ordine inferiore del valore restituito. La coordinata y si trova nell'ordine più breve (entrambi rappresentano valori firmati perché possono accettare valori negativi nei sistemi con più monitor). Se il valore restituito viene assegnato a una variabile, è possibile utilizzare la macro MAKEPOINTS per ottenere una struttura POINTS dal valore restituito. È anche possibile utilizzare la macro GET_X_LPARAM o GET_Y_LPARAM per estrarre la coordinata x o y.
Importante
Non utilizzare le macro LOWORD o 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.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Intestazione |
|
Vedi anche
-
Riferimento
-
Concettuale
-
Altre risorse