Struttura TRACKMOUSEEVENT (winuser.h)

Utilizzato dalla funzione TrackMouseEvent per tenere traccia quando il puntatore del mouse lascia una finestra o passa il puntatore su una finestra per un periodo di tempo specificato.

Sintassi

typedef struct tagTRACKMOUSEEVENT {
  DWORD cbSize;
  DWORD dwFlags;
  HWND  hwndTrack;
  DWORD dwHoverTime;
} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;

Members

cbSize

Tipo: DWORD

Dimensioni della struttura TRACKMOUSEEVENT , in byte.

dwFlags

Tipo: DWORD

Servizi richiesti. Questo membro può essere una combinazione dei valori seguenti.

Valore Significato
TME_CANCEL
0x80000000
Il chiamante vuole annullare una richiesta di rilevamento precedente. Il chiamante deve anche specificare il tipo di rilevamento che vuole annullare. Ad esempio, per annullare il rilevamento del passaggio del mouse, il chiamante deve passare i flag TME_CANCEL e TME_HOVER .
TME_HOVER
0x00000001
Il chiamante desidera la notifica al passaggio del mouse. La notifica viene recapitata come messaggio di WM_MOUSEHOVER .

Se il chiamante richiede il rilevamento del passaggio del mouse mentre il rilevamento del passaggio del mouse è già attivo, il timer del passaggio del mouse verrà reimpostato.

Questo flag viene ignorato se il puntatore del mouse non si trova nella finestra o nell'area specificata.

TME_LEAVE
0x00000002
Il chiamante vuole lasciare la notifica. La notifica viene recapitata come messaggio di WM_MOUSELEAVE . Se il mouse non si trova sulla finestra o sull'area specificata, viene generata immediatamente una notifica di uscita e non viene eseguito alcun ulteriore rilevamento.
TME_NONCLIENT
0x00000010
Il chiamante vuole passare il puntatore del mouse e lasciare la notifica per le aree non client. La notifica viene recapitata come WM_NCMOUSEHOVER e WM_NCMOUSELEAVE messaggi.
TME_QUERY
0x40000000
La funzione compila la struttura invece di considerarla come una richiesta di rilevamento. La struttura viene riempita in modo che la struttura fosse stata passata a TrackMouseEvent, genererebbe il rilevamento corrente. L'unica anomalia è che il timeout del passaggio del mouse restituito è sempre il timeout effettivo e non HOVER_DEFAULT, se HOVER_DEFAULT è stato specificato durante la richiesta TrackMouseEvent originale.

hwndTrack

Tipo: HWND

Handle della finestra da tenere traccia.

dwHoverTime

Tipo: DWORD

Timeout al passaggio del mouse (se TME_HOVER è stato specificato in dwFlags), in millisecondi. Può essere HOVER_DEFAULT, il che significa usare il timeout predefinito del puntatore del mouse del sistema.

Commenti

Il timeout predefinito del puntatore del mouse del sistema è inizialmente il tempo a discesa del menu, ovvero 400 millisecondi. È possibile chiamare SystemParametersInfo e usare SPI_GETMOUSEHOVERTIME per recuperare il timeout predefinito del passaggio del mouse.

Il rettangolo di passaggio del mouse predefinito del sistema corrisponde al rettangolo di doppio clic. È possibile chiamare SystemParametersInfo e usare SPI_GETMOUSEHOVERWIDTH e SPI_GETMOUSEHOVERHEIGHT per recuperare le dimensioni del rettangolo all'interno del quale il puntatore del mouse deve rimanere per TrackMouseEvent per generare un messaggio WM_MOUSEHOVER .

Requisiti

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

Vedi anche

Mouse Input