Funcția mouse_event

[in] Setează diferite aspecte ale mișcării mouse-ului și ale clicurilor pe butoane. Acest parametru poate fi o combinație a următoarelor valori.

Valorile care determină starea butonului mouse-ului sunt setate pentru a indica modificări ale stării, dar nu pentru stări continue. De exemplu, dacă butonul stâng al mouse-ului este apăsat și menținut în jos, este setat MOUSEEVENTF_LEFTDOWN. primul moment când este apăsat butonul din stânga, dar nu și pentru acțiunile ulterioare. În mod similar, MOUSEEVENTF_LEFTUP este instalat numai la începutul lansării butonului.







Nu puteți instala atât MOUSEEVENTF_WHEEL, cât și MOUSEEVENTF_XDOWN în parametrul dwFlags în același timp. sau MOUSEEVENTF_XUP. deoarece ambele necesită utilizarea câmpului dwData.

Setează faptul că parametrii dx și dy conțin coordonate absolute normalizate. Dacă caseta de selectare nu este selectată, acești parametri conțin date relative: o modificare a poziției începând cu ultima locație transferată. Acest steguleț poate fi setat sau setat, indiferent de dispozitivul mouse-ului sau mouse-ului, dacă există, conectat la sistem. Pentru mai multe informații despre mișcarea relativă a mouse-ului, vedeți mai jos, în secțiunea Observații.

Setează că mișcarea a avut loc.

[in] Setează poziția absolută a mouse-ului pe axa X sau valoarea avansului său, de la ultimul eveniment al mouse-ului, care depinde de setarea parametrilor MOUSEEVENTF_ABSOLUTE. Datele absolute sunt definite ca coordonatele x actuale ale mouse-ului; datele relative sunt definite ca trecerea la un anumit număr de microfoane. Mickey (mickey) este suma cu care mouse-ul ar trebui să avanseze astfel încât să spună că mișcarea a avut loc.

[in] Setează poziția absolută a mouse-ului pe axa Y sau valoarea avansată a acesteia, de la ultimul eveniment al mouse-ului, care depinde de setarea parametrilor MOUSEEVENTF_ABSOLUTE. Datele absolute sunt definite ca coordonatele y ale mouse-ului; datele relative sunt definite ca trecerea la un anumit număr de microfoane.

[in] Dacă dwFlags conține MOUSEEVENTF_WHEEL. atunci parametrul dwData stabilește cantitatea de mișcare a roții. O valoare pozitivă indică faptul că roata sa rotit înainte, departe de utilizator; O valoare negativă indică faptul că roata sa rotit înapoi către utilizator. Un clic (traducerea clichetului) a roții este definit ca WHEEL_DELTA. al căror număr este de 120.

Dacă parametrul dwFlags nu este MOUSEEVENTF_WHEEL. MOUSEEVENTF_XDOWN. sau MOUSEEVENTF_XUP. atunci dwData trebuie să fie zero.







Este setat dacă primul buton X a fost apăsat sau eliberat.

Este setat dacă cel de-al doilea buton X a fost apăsat sau eliberat.

[in] Setează valoarea suplimentară asociată evenimentului mouse-ului. Aplicația cheamă funcția GetMessageExtraInfo. pentru a obține aceste informații suplimentare.

Această funcție nu are o valoare de retur.

Dacă mouse-ul se mișca, steagul MOUSEEVENTF_MOVE indică faptul că parametrii dx și dy conțin informații despre această mișcare. Informația este definită ca valori totale absolute sau relative.

Dacă este setat MOUSEEVENTF_ABSOLUTE. dx și dy conțin coordonate absolute normalizate între 0 și 65535. Procedura evenimentului convertește aceste coordonate pe suprafața ecranului. Coordonatul (0,0) este proiectat în colțul din stânga sus al suprafeței ecranului, (65535,65535) este proiectat în colțul din dreapta jos.

Dacă MOUSEEVENTF_ABSOLUTE nu este setat, dx și dy determină mișcările relative din momentul în care a fost efectuat ultimul eveniment al mouse-ului (ultima poziție raportată). Valorile pozitive implică faptul că mouse-ul sa mutat spre dreapta (sau în jos); valorile negative implică faptul că mouse-ul se mișcă spre stânga (sau sus).

Mișcarea relativă a mouse-ului este supusă la setările de viteză și de accelerare ale mouse-ului. Utilizatorul final stabilește aceste valori utilizând programul Mouse din panoul de control. Aplicația primește și stabilește aceste valori utilizând funcția SystemParametersInfo.

Sistemul aplică două teste la o anumită mișcare relativă a mouse-ului atunci când se aplică accelerația. Dacă distanța specificată, fie de-a lungul axei x sau axa y, este mai mare decât primul prag al mouse-ului, iar nivelul accelerației mouse-ului nu este zero, sistemul de operare dublează această distanță. Dacă distanța specificată sau de-a lungul axei x sau y este mai mare decât cea de-a doua prag de șoarece și nivelul de accelerare al mouse-ului este de două, sistemul de operare dublează intervalul care rezultă din aplicarea primului test de prag. În conformitate cu aceasta, pentru sistemul de operare este permisă multiplicarea mișcării relative a mouse-ului de-a lungul axei x sau y de patru ori.

Imediat ce a fost aplicată accelerația, sistemul scade valoarea rezultată a vitezei dorite a mouse-ului. Viteza mouse-ului poate fi în intervalul de la 1 (cel mai încet) la 20 (cel mai rapid) și reprezintă valoarea pe care a fost mutat pointerul, pe baza distanței la care se deplasează mouse-ul. Valoarea implicită este de 10, ceea ce nu duce la modificarea suplimentară a mișcării mouse-ului.

Funcția mouse_event este utilizată pentru a sintetiza evenimentele mouse-ului de programele de aplicații care trebuie să facă acest lucru. Este, de asemenea, folosit de programele de aplicații care trebuie să primească mai multe informații de la mouse, nu doar despre poziția și starea butonului. De exemplu, dacă producătorul de tablete dorește să transfere informații bazate pe introducerea penului în propriile programe, acesta poate scrie o bibliotecă (DLL) conectată dinamic care comunică direct cu hardware-ul tabletei, obține informații suplimentare și stochează în coadă. DLL-ul solicită apoi funcția mouse_event utilizând butoanele standard și datele de locație x / y, împreună cu parametrul dwExtraInfo cu un anumit tip de pointer sau index de informații suplimentare în coada de așteptare. Atunci când o aplicație are nevoie de informații suplimentare, aceasta apelează un DLL cu un pointer sau un index stocat în dwExtraInfo. și o bibliotecă legată dinamic (DLL) returnează informații suplimentare.

Locație și compatibilitatemouse_event







Articole similare

Trimiteți-le prietenilor: