WM_POINTERENTER messaggio
Inviato a una finestra quando un nuovo puntatore entra nell'intervallo di rilevamento sulla finestra (passaggio del mouse) o quando un puntatore esistente si sposta entro i limiti della finestra.
Una finestra riceve questo messaggio tramite la relativa funzione WindowProc.
! [Importante]
Le app desktop devono essere compatibili con dpi. Se l'app non riconosce valori DPI, le coordinate dello schermo contenute nei messaggi del puntatore e nelle strutture correlate potrebbero risultare imprecise a causa della virtualizzazione DPI. La virtualizzazione DPI offre supporto automatico per il ridimensionamento alle applicazioni che non sono compatibili con dpi ed è attivo per impostazione predefinita (gli utenti possono disattivarlo). Per altre informazioni, vedere Writing High-DPI Win32 Applications.
#define WM_POINTERENTER 0x0249
Parametri
-
wParam
-
Contiene l'identificatore del puntatore e le informazioni aggiuntive. Utilizzare le macro seguenti per recuperare informazioni specifiche nel parametro wParam.
- GET_POINTERID_WPARAM(wParam): identificatore del puntatore.
- IS_POINTER_NEW_WPARAM(wParam): indica se questo messaggio è il primo messaggio generato da un nuovo puntatore che immette l'intervallo di rilevamento (passaggio del mouse).
- IS_POINTER_INRANGE_WPARAM(wParam): indica se il messaggio è stato generato da un puntatore che non ha lasciato l'intervallo di rilevamento. Questo flag è sempre impostato per i messaggi di WM_POINTERENTER.
- IS_POINTER_INCONTACT_WPARAM(wParam): flag che indica se il messaggio è stato generato da un puntatore in contatto. Questo flag non è impostato per un puntatore nell'intervallo di rilevamento (passaggio del mouse).
-
lParam
-
Contiene la posizione del punto del puntatore.
Nota
Poiché il puntatore può contattare il dispositivo su un'area non semplice, questa posizione può essere una semplificazione di un'area puntatore più complessa. Quando possibile, un'applicazione deve usare le informazioni complete sull'area del puntatore anziché la posizione del punto.
Utilizzare le macro seguenti per recuperare le coordinate fisiche dello schermo del punto.
- GET_X_LPARAM(lParam): coordinata x (punto orizzontale).
- GET_Y_LPARAM(lParam): coordinata y (punto verticale).
Valore restituito
Se un'applicazione elabora questo messaggio, deve restituire zero.
Se l'applicazione non elabora questo messaggio, deve chiamare DefWindowProc.
Osservazioni
La notifica WM_POINTERENTER può essere usata da una finestra per fornire feedback all'utente mentre il puntatore si trova sulla superficie o per reagire in altro modo alla presenza di un puntatore sulla superficie.
Questa notifica viene inviata solo alla finestra che riceve l'input per il puntatore. Nella tabella seguente sono elencate alcune delle situazioni in cui viene inviata la notifica.
Azione | Set di flag | Notifiche inviate a |
---|---|---|
Un nuovo puntatore entra nell'intervallo di rilevamento (passaggio del mouse). |
IS_POINTER_NEW_WPARAM IS_POINTER_INRANGE_WPARAM |
Finestra su cui il puntatore entra nell'intervallo di rilevamento. |
Un puntatore al passaggio del mouse attraversa i limiti della finestra. |
IS_POINTER_INRANGE_WPARAM |
Finestra all'interno della quale è stato attraversato il puntatore. |
! [Importante]
Quando una finestra perde l'acquisizione di un puntatore e riceve la notifica di WM_POINTERCAPTURECHANGED, in genere non riceverà altre notifiche. Per questo motivo, è importante non fare ipotesi basate su notifiche WM_POINTERDOWN/WM_POINTERUP o WM_POINTERENTER/WM_POINTERLEAVE abbinate in modo uniforme.
Quando gli input provengono dal mouse, come risultato dell'integrazione dei messaggi del mouse e del puntatore, WM_POINTERENTER non viene inviato.
Fabbisogno
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 8 [solo app desktop] |
Server minimo supportato |
Windows Server 2012 [solo app desktop] |
Intestazione |
|