Struttura MOUSEINPUT (winuser.h)
Contiene informazioni su un evento mouse simulato.
Sintassi
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
Members
dx
Tipo: LONG
Posizione assoluta del mouse o la quantità di movimento dall'ultimo evento del mouse generato, a seconda del valore del membro dwFlags . I dati assoluti sono specificati come coordinata x del mouse; I dati relativi sono specificati come numero di pixel spostati.
dy
Tipo: LONG
Posizione assoluta del mouse o la quantità di movimento dall'ultimo evento del mouse generato, a seconda del valore del membro dwFlags . I dati assoluti sono specificati come coordinata y del mouse; I dati relativi sono specificati come numero di pixel spostati.
mouseData
Tipo: DWORD
Se dwFlags contiene MOUSEEVENTF_WHEEL, mouseData specifica la quantità di movimento della ruota. Un valore positivo indica che la ruota è stata ruotata in avanti, lontano dall'utente; un valore negativo indica che la rotellina è stata ruotata verso l'indietro, verso l'utente. Un clic a rotelle viene definito come WHEEL_DELTA, ovvero 120.
Windows Vista: se dwFlags contiene MOUSEEVENTF_HWHEEL, dwData specifica la quantità di movimento della ruota. Un valore positivo indica che la ruota era ruotata a destra; un valore negativo indica che la ruota è stata ruotata a sinistra. Un clic a rotelle viene definito come WHEEL_DELTA, ovvero 120.
Se dwFlags non contiene MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, mouseData deve essere zero.
Se dwFlags contiene MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, mouseData specifica quali pulsanti X sono stati premuti o rilasciati. Questo valore può essere una combinazione dei flag seguenti.
Valore | Significato |
---|---|
XBUTTON1 0x0001 |
Impostare se il primo pulsante X viene premuto o rilasciato. |
XBUTTON2 0x0002 |
Impostare se il secondo pulsante X viene premuto o rilasciato. |
dwFlags
Tipo: DWORD
Set di flag di bit che specificano vari aspetti del movimento del mouse e clic sul pulsante. I bit in questo membro possono essere una combinazione ragionevole dei valori seguenti.
I flag di bit che specificano lo stato del pulsante del mouse sono impostati per indicare le modifiche nello stato, non in corso. Ad esempio, se il pulsante sinistro del mouse viene premuto e premuto, MOUSEEVENTF_LEFTDOWN viene impostato quando viene premuto il pulsante sinistro, ma non per i movimenti successivi. Analogamente , MOUSEEVENTF_LEFTUP viene impostato solo quando il pulsante viene rilasciato per la prima volta.
Non è possibile specificare sia il flag MOUSEEVENTF_WHEEL che i flag MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP contemporaneamente nel parametro dwFlags , perché entrambi richiedono l'uso del campo mouseData .
Valore | Significato |
---|---|
MOUSEEVENTF_MOVE 0x0001 |
Lo spostamento si è verificato. |
MOUSEEVENTF_LEFTDOWN 0x0002 |
Il pulsante sinistro è stato premuto. |
MOUSEEVENTF_LEFTUP 0x0004 |
Il pulsante sinistro è stato rilasciato. |
MOUSEEVENTF_RIGHTDOWN 0x0008 |
Il pulsante destro è stato premuto. |
MOUSEEVENTF_RIGHTUP 0x0010 |
Il pulsante destro è stato rilasciato. |
MOUSEEVENTF_MIDDLEDOWN 0x0020 |
Il pulsante centrale è stato premuto. |
MOUSEEVENTF_MIDDLEUP 0x0040 |
Il pulsante centrale è stato rilasciato. |
MOUSEEVENTF_XDOWN 0x0080 |
È stato premuto un pulsante X. |
MOUSEEVENTF_XUP 0x0100 |
È stato rilasciato un pulsante X. |
MOUSEEVENTF_WHEEL 0x0800 |
La ruota è stata spostata, se il mouse ha una ruota. La quantità di spostamento viene specificata in mouseData. |
MOUSEEVENTF_HWHEEL 0x1000 |
La ruota è stata spostata orizzontalmente, se il mouse ha una ruota. La quantità di spostamento viene specificata in mouseData. Windows XP/2000: questo valore non è supportato. |
MOUSEEVENTF_MOVE_NOCOALESCE 0x2000 |
I messaggi WM_MOUSEMOVE non verranno uniti. Il comportamento predefinito consiste nel unire i messaggi WM_MOUSEMOVE . Windows XP/2000: questo valore non è supportato. |
MOUSEEVENTF_VIRTUALDESK 0x4000 |
Esegue il mapping delle coordinate all'intero desktop. Deve essere usato con MOUSEEVENTF_ABSOLUTE. |
MOUSEEVENTF_ABSOLUTE 0x8000 |
I membri dx e dy contengono coordinate assolute normalizzate. Se il flag non è impostato, dxe dy contengono dati relativi (la modifica nella posizione dall'ultima posizione segnalata). Questo flag può essere impostato o non impostato, indipendentemente dal tipo di mouse o da un altro dispositivo, se presente, è connesso al sistema. Per altre informazioni sul movimento relativo del mouse, vedere la sezione Osservazioni seguenti. |
time
Tipo: DWORD
Timestamp per l'evento, in millisecondi. Se questo parametro è 0, il sistema fornirà il proprio timestamp.
dwExtraInfo
Tipo: ULONG_PTR
Valore aggiuntivo associato all'evento del mouse. Un'applicazione chiama GetMessageExtraInfo per ottenere queste informazioni aggiuntive.
Commenti
Se il mouse è stato spostato, indicato da MOUSEEVENTF_MOVE, dx e dy specificare informazioni su tale movimento. Le informazioni sono specificate come valori integer assoluti o relativi.
Se viene specificato MOUSEEVENTF_ABSOLUTE valore, dx e dy contengono coordinate assolute normalizzate tra 0 e 65.535. La routine evento esegue il mapping di queste coordinate all'area di visualizzazione. Coordinata (0,0) mappa nell'angolo superiore sinistro della superficie di visualizzazione; coordinata (65535,65535) mappa nell'angolo inferiore destro. In un sistema multimonitor, le coordinate mappano al monitoraggio primario.
Se viene specificato MOUSEEVENTF_VIRTUALDESK , le coordinate mappano all'intero desktop virtuale.
Se il valore MOUSEEVENTF_ABSOLUTE non è specificato, dxe dy specificano lo spostamento rispetto all'evento mouse precedente (l'ultima posizione segnalata). I valori positivi indicano che il mouse è stato spostato a destra (o verso il basso); i valori negativi indicano che il mouse è stato spostato a sinistra (o verso l'alto).
Il movimento del mouse relativo è soggetto agli effetti della velocità del mouse e dei valori soglia a due mouse. Un utente imposta questi tre valori con il dispositivo di scorrimento Velocità puntatore del foglio Proprietà mouse di Pannello di controllo. È possibile ottenere e impostare questi valori usando la funzione SystemParametersInfo .
Il sistema applica due test allo spostamento relativo del mouse specificato. Se la distanza specificata lungo l'asse x o y è maggiore del primo valore soglia del mouse e la velocità del mouse non è zero, il sistema raddoppia la distanza. Se la distanza specificata lungo l'asse x o y è maggiore del secondo valore soglia del mouse e la velocità del mouse è uguale a due, il sistema raddoppia la distanza risultante dall'applicazione del primo test soglia. È quindi possibile che il sistema moltiplica lo spostamento relativo relativo del mouse lungo l'asse x o y fino a quattro volte.
Requisiti
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
Informazioni concettuali
Riferimento