функція mouse_event

[In] Встановлює різні аспекти руху миші і клацань кнопки. Цей параметр може бути деякою комбінацією нижченаведених значень.

Значення, які визначають стан кнопки миші, встановлюються, щоб вказати зміни в статусі, але не для безперервних станів. Наприклад, якщо ліва кнопка миші натискається і утримується натиснутою, встановлюється MOUSEEVENTF_LEFTDOWN. в перший момент коли ліва кнопка натиснута, але не для подальших дій. Точно так же MOUSEEVENTF_LEFTUP встановлюється тільки на початку, коли кнопка відпущена.

Ви не можете в параметрі dwFlags одночасно встановити і MOUSEEVENTF_WHEEL і, або MOUSEEVENTF_XDOWN. або MOUSEEVENTF_XUP. тому що вони обидва вимагають використання поля dwData.

Встановлює, що параметри dx і dy містять нормалізовані абсолютні координати. Якщо прапорець не встановлений, то ці параметри містить відносні дані: зміна в позиції починаючи від останнього переданого розташування. Цей прапорець може встановлюватися, або не встановлюватися, незалежно від того, яка миша або мишоподібних пристрій, якщо таке взагалі є, пов'язане з системою. За більш пізньої інформацією про відносний рух миші, див. Нижче в розділі Зауважень.

Встановлює, що відбулося переміщення.

[In] Встановлює абсолютну позицію миші по осі X або по її величині просування, з тих пір, як було вироблено остання подія миші, яка залежить від установки прапорця MOUSEEVENTF_ABSOLUTE. Абсолютні дані визначаються як фактична x-координата миші; відносні дані визначаються як переміщення на певну кількість мики. Мікі (mickey) - це величина, на яку повинна просунутися миша, щоб вона повідомила, що відбулося переміщення.

[In] Встановлює абсолютну позицію миші по осі Y або по її величині просування, з тих пір, як було вироблено остання подія миші, яка залежить від установки прапорця MOUSEEVENTF_ABSOLUTE. Абсолютні дані визначаються як фактична y-координата миші; відносні дані визначаються як переміщення на певну кількість мики.

[In] Якщо dwFlags містить MOUSEEVENTF_WHEEL. то параметр dwData встановлює величину переміщення коліщатка. Позитивне значення вказує на те, що коліщатко оберталося вперед, в сторону від користувача; від'ємне значення вказує, що коліщатко оберталося тому, до користувача. Одне клацання (прим. Переклад. Храповика) коліщатка визначається як WHEEL_DELTA. число яких - 120.

Якщо параметр dwFlags - НЕ MOUSEEVENTF_WHEEL. MOUSEEVENTF_XDOWN. або MOUSEEVENTF_XUP. то dwData повинен дорівнювати нулю.

Встановлюється, якщо була натиснута або відпущена перша Х-кнопка.

Встановлюється, якщо була натиснута або відпущена друга Х-кнопка.

[In] Встановлює додаткове значення, пов'язане з подією миші. Додаток викликає функцію GetMessageExtraInfo. щоб отримати цю додаткову інформацію.

У цій функції немає значення, що повертається.

Якщо миша рухалася, то установка прапорця MOUSEEVENTF_MOVE вказує, що параметри dx і dy містять інформацію про цей рух. Інформація визначається як абсолютні або відносні целочисленное значення.

Якщо встановлюється значення MOUSEEVENTF_ABSOLUTE. dx і dy містять нормалізовані абсолютні координати між 0 і 65 535. Процедура події перетворює ці координати для поверхні екрану. Координата (0,0) проектується на лівий верхній кут поверхні екрану, (65535,65535) проектується на правий нижній кут.

Якщо значення MOUSEEVENTF_ABSOLUTE не встановлено, dx і dy визначають відносні переміщення від того, коли було вироблено остання подія миші (остання повідомлена позиція). Позитивні значення мають на увазі, що миша переміщалася вправо (або вниз); негативні значення мають на увазі, що миша рухалася вліво (або вгору).

Відносний рух миші підпорядковане налаштувань швидкості миші і рівня прискорення. Кінцевий користувач встановлює ці величини, використовуючи програму Mouse (Миша) в Панелі управління (Control Panel). Додаток отримує і встановлює ці значення за допомогою функції SystemParametersInfo.

Система застосовує два тести до заданого відносного руху миші при застосуванні прискорення. Якщо вказану відстань, або по осі x, або по осі y більше, ніж перша порогова величина миші, і рівень прискорення миші не є нульовим, операційна система подвоює цю відстань. Якщо вказану відстань або по осі x- або по осі y- більше, ніж друга порогова величина миші, і рівень прискорення миші дорівнює двом, операційна система подвоює інтервал, який вийшов в результаті застосування першого порогового тесту. Відповідно до цього, для операційної системи допустимо множити певне як відносний рух миші по осі x- або по осі y- до чотирьох разів.

Як тільки було застосовано прискорення, система встановлює масштаб яка утворюється в результаті величину необхідної швидкості миші. Швидкість миші може бути в діапазоні від 1 (найповільніша) до 20 (найшвидша) і представляє величину, на котроие перемістився покажчик, базуючись на відстані, на яке переміщається миша. Заданий за замовчуванням значення дорівнює 10, яка не призводить до додаткової модифікації руху миші.

Функція mouse_event використовується, щоб синтезувати події миші прикладними програмами, яким необхідно так робити. Вона також використовується і прикладними програмами, які повинні отримувати більше інформації від миші, а не тільки про її позиції та стан кнопки. Наприклад, якщо виробник планшета хоче передавати інформацію, засновану на пір'яний введення даних, своїм власним програмам, він може написати динамічно підключається бібліотеку (DLL), яка зв'язується безпосередньо з апаратними засобами планшета, отримує додаткову інформацію і зберігає її в черзі. DLL потім викликає функцію mouse_event за допомогою стандартної кнопки і x / y даними розташування, поряд з параметром dwExtraInfo з якимось покажчиком або індексом поставленої в чергу додаткової інформації. Коли прикладна програма потребує додаткової інформації, вона викликає DLL з покажчиком або індексом, збереженим в dwExtraInfo. і динамічно підключається (DLL) повертає додаткову інформацію.

Розміщення і совместімостьmouse_event

Схожі статті