Condividi tramite


funzione mouse_event (winuser.h)

La funzione mouse_event sintetizza il movimento del mouse e i clic del pulsante.

Nota Questa funzione è stata sostituita. Usare invece SendInput .
 

Sintassi

void mouse_event(
  [in] DWORD     dwFlags,
  [in] DWORD     dx,
  [in] DWORD     dy,
  [in] DWORD     dwData,
  [in] ULONG_PTR dwExtraInfo
);

Parametri

[in] dwFlags

Tipo: DWORD

Controlla vari aspetti del movimento del mouse e clic sul pulsante. Questo parametro può essere determinate combinazioni dei valori seguenti.

Valore Significato
MOUSEEVENTF_ABSOLUTE
0x8000
I parametri dx e dy contengono coordinate assolute normalizzate. Se non è impostato, questi parametri 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 dispositivo simile al mouse, se presente, è connesso al sistema. Per altre informazioni sul movimento relativo del mouse, vedere la sezione Osservazioni seguenti.
MOUSEEVENTF_LEFTDOWN
0x0002
Il pulsante sinistro è giù.
MOUSEEVENTF_LEFTUP
0x0004
Il pulsante sinistro è su.
MOUSEEVENTF_MIDDLEDOWN
0x0020
Il pulsante centrale è giù.
MOUSEEVENTF_MIDDLEUP
0x0040
Il pulsante centrale è su.
MOUSEEVENTF_MOVE
0x0001
Lo spostamento si è verificato.
MOUSEEVENTF_RIGHTDOWN
0x0008
Il pulsante destro è giù.
MOUSEEVENTF_RIGHTUP
0x0010
Il pulsante destro è su.
MOUSEEVENTF_WHEEL
0x0800
La ruota è stata spostata, se il mouse ha una ruota. La quantità di spostamento viene specificata in dwData
MOUSEEVENTF_XDOWN
0x0080
È stato premuto un pulsante X.
MOUSEEVENTF_XUP
0x0100
È stato rilasciato un pulsante X.
MOUSEEVENTF_WHEEL
0x0800
Il pulsante della rotellina viene ruotato.
MOUSEEVENTF_HWHEEL
0x01000
Il pulsante della ruota è inclinato.
 

I valori 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 MOUSEEVENTF_WHEEL che MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP simultaneamente nel parametro dwFlags , perché entrambi richiedono l'uso del campo dwData .

[in] dx

Tipo: DWORD

La posizione assoluta del mouse lungo l'asse x o la sua quantità di movimento dall'ultimo evento del mouse è stata generata, a seconda dell'impostazione di MOUSEEVENTF_ABSOLUTE. I dati assoluti sono specificati come coordinata x effettiva del mouse; I dati relativi sono specificati come numero di mickey spostati. Una mickey è la quantità che un mouse deve spostarsi per segnalare che è stato spostato.

[in] dy

Tipo: DWORD

La posizione assoluta del mouse lungo l'asse y o la sua quantità di movimento dall'ultimo evento del mouse è stata generata, a seconda dell'impostazione di MOUSEEVENTF_ABSOLUTE. I dati assoluti sono specificati come coordinata effettiva del mouse; I dati relativi sono specificati come numero di mickey spostati.

[in] dwData

Tipo: DWORD

Se dwFlags contiene MOUSEEVENTF_WHEEL, dwData 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.

Se dwFlags contiene MOUSEEVENTF_HWHEEL, dwData specifica la quantità di movimento della ruota. Un valore positivo indica che la ruota era inclinata verso destra; un valore negativo indica che la ruota è stata inclinata verso sinistra.

Se dwFlags contiene MOUSEEVENTF_XDOWN oMOUSEEVENTF_XUP, dwData specifica quali pulsanti X sono stati premuti o rilasciati. Questo valore può essere una combinazione dei flag seguenti.

Se dwFlags non è MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN o MOUSEEVENTF_XUP, dwData deve essere zero.

Valore Significato
XBUTTON1
0x0001
Impostare se il primo pulsante X è stato premuto o rilasciato.
XBUTTON2
0x0002
Impostare se il secondo pulsante X è stato premuto o rilasciato.

[in] dwExtraInfo

Tipo: ULONG_PTR

Valore aggiuntivo associato all'evento del mouse. Un'applicazione chiama GetMessageExtraInfo per ottenere queste informazioni aggiuntive.

Valore restituito

nessuno

Osservazioni

Se il mouse è stato spostato, indicato da MOUSEEVENTF_MOVE impostato, dx e dy contengono 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, (65535,65535) mappa nell'angolo inferiore destro.

Se il valore MOUSEEVENTF_ABSOLUTE non è specificato, dx e dy specificano movimenti relativi da quando è stato generato l'ultimo evento del mouse (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 alle impostazioni per la velocità del mouse e il livello di accelerazione. Un utente finale imposta questi valori usando l'applicazione Mouse in Pannello di controllo. Un'applicazione ottiene e imposta questi valori con la funzione SystemParametersInfo .

Il sistema applica due test al movimento relativo del mouse specificato durante l'applicazione dell'accelerazione. Se la distanza specificata lungo l'asse x o y è maggiore del primo valore soglia del mouse e il livello di accelerazione del mouse non è zero, il sistema operativo raddoppia la distanza. Se la distanza specificata lungo l'asse x- o y è maggiore del secondo valore soglia del mouse e il livello di accelerazione del mouse è uguale a due, il sistema operativo raddoppia la distanza risultante dall'applicazione del primo test soglia. È quindi possibile che il sistema operativo moltiplica il movimento del mouse relativamente specificato lungo l'asse x o y fino a quattro volte.

Una volta applicata l'accelerazione, il sistema ridimensiona il valore risultante in base alla velocità del mouse desiderata. La velocità del mouse può variare da 1 (più lenta) a 20 (più veloce) e rappresenta la quantità di movimento del puntatore in base alla distanza in cui si sposta il mouse. Il valore predefinito è 10, che non comporta alcuna modifica aggiuntiva al movimento del mouse.

La funzione mouse_event viene usata per sintetizzare gli eventi del mouse da applicazioni che devono farlo. Viene usato anche dalle applicazioni che devono ottenere maggiori informazioni dal mouse rispetto alla posizione e allo stato del pulsante. Ad esempio, se un produttore di tablet vuole passare informazioni basate sulla penna alle proprie applicazioni, può scrivere una DLL che comunica direttamente all'hardware del tablet, ottiene le informazioni aggiuntive e la salva in una coda. La DLL chiama quindi mouse_event con il pulsante standard e i dati di posizione x/y, insieme al parametro dwExtraInfo , un puntatore o un indice alle informazioni aggiuntive in coda. Quando l'applicazione necessita delle informazioni aggiuntive, chiama la DLL con il puntatore o l'indice archiviato in dwExtraInfo e la DLL restituisce le informazioni aggiuntive.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (include Windows.h)
Libreria User32.lib
DLL User32.dll

Vedi anche

Informazioni concettuali

GetMessageExtraInfo

Mouse Input

Altre risorse

Riferimento

Systemparametersinfo