- Сообщения
- 8,673
- Репутация
- 2,486
- Версия AutoIt
- 3.3.14.5
- Версия
- 2.4
Описание: Позволяет установить обработку событии мышки. Кроме прочего, поддерживает блокировку событии в определённом окне.
Примечания:
Пример:
Поддерживаемые константы событии:
Скачать: MouseOnEvent_2.4.zip
MouseOnEvent.zip - 2.3
Примечания:
- Библиотека (при использовании функции _MouseSetOnEvent_RI) регистрирует сообщение $WM_INPUT, может вызвать конфликт с другими библиотеками/скриптами.
- Не смешивайте использование _MouseSetOnEvent и _MouseSetOnEvent_RI, может вызвать непредсказуемое поведение.
- Блокирование функции события $sFuncName вызовом системных диалогов типа "Msgbox()", может привести к неожиданным последствиям,
возврат в систему должен выполниться как можно раньше! - При указании события $MOUSE_PRIMARYDOWN_EVENT и $MOUSE_SECONDARYDOWN_EVENT,
событие $MOUSE_PRIMARYDBLCLK_EVENT и соответственно $MOUSE_SECONDARYDBLCLK_EVENT также устанавливается принудительно,
чтобы отключить отлов этих событии, используйте
Код:_MouseSetOnEvent($MOUSE_PRIMARYDBLCLK_EVENT) ;или _MouseSetOnEvent($MOUSE_SECONDARYDBLCLK_EVENT)
- При использовании обфускатора/Au3Stripper, убедитесь что функции события добавлены в список игнорирования (#Obfuscator_Ignore_Funcs/#Au3Stripper_Ignore_Funcs).
Пример:
Код:
#include <GUIConstantsEx.au3>
#include "MouseOnEvent.au3"
HotKeySet("{ESC}", "_Quit")
_Example_Intro()
_Example_Limit_Window()
Func _Example_Intro()
MsgBox(64, "Attention!", "Let's set event function for mouse wheel *scrolling* up and down", 5)
;Set event function for mouse wheel *scrolling* up/down and primary button *down* action (call our function when the events recieved)
_MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT, "_MouseWheel_Events")
_MouseSetOnEvent($MOUSE_WHEELSCROLLUP_EVENT, "_MouseWheel_Events")
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event")
Sleep(3000)
;UnSet the events
_MouseSetOnEvent($MOUSE_WHEELSCROLLDOWN_EVENT)
_MouseSetOnEvent($MOUSE_WHEELSCROLLUP_EVENT)
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT)
ToolTip("")
MsgBox(64, "Attention!", "Now let's disable Secondary mouse button up action, and call our event function.", 5)
_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "_MouseSecondaryUp_Event", 0, 1)
Sleep(5000)
_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT)
ToolTip("")
EndFunc
Func _Example_Limit_Window()
Local $hGUI = GUICreate("MouseOnEvent UDF Example - Restrict events on specific window")
GUICtrlCreateLabel("Try to click on that specific GUI window", 40, 40, 300, 30)
GUICtrlSetFont(-1, 12, 800)
GUICtrlCreateLabel("Press <CTRL + Q> to exit", 10, 10)
GUISetState()
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, "_MousePrimaryDown_Event", $hGUI)
;A little(?) bugie when you mix different events :(
;_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT, "_MouseSecondaryUp_Event", $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $GUI_EVENT_PRIMARYDOWN
MsgBox(0, "", "Should be shown ;)")
EndSwitch
WEnd
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT)
;_MouseSetOnEvent($MOUSE_SECONDARYUP_EVENT)
EndFunc
Func _MouseWheel_Events($iEvent)
Switch $iEvent
Case $MOUSE_WHEELSCROLLDOWN_EVENT
ToolTip("Wheel Mouse Button (scrolling) DOWN Blocked")
Case $MOUSE_WHEELSCROLLUP_EVENT
ToolTip("Wheel Mouse Button (scrolling) UP Blocked")
EndSwitch
Return $MOE_BLOCKDEFPROC ;Block
EndFunc
Func _MousePrimaryDown_Event()
ToolTip("Primary Mouse Button Down Blocked")
Return $MOE_BLOCKDEFPROC ;Block
EndFunc
Func _MouseSecondaryUp_Event()
ToolTip("Secondary Mouse Button Up Blocked")
EndFunc
Func _Quit()
Exit
EndFunc
Поддерживаемые константы событии:
Код:
$MOUSE_MOVE_EVENT ;Движение мышки.
$MOUSE_PRIMARYDOWN_EVENT ;Зажатие главной кнопки.
$MOUSE_PRIMARYUP_EVENT ;Отжатие главной кнопки.
$MOUSE_PRIMARYDBLCLK_EVENT ;Двойное нажатие главной кнопки.
$MOUSE_SECONDARYDOWN_EVENT ;Зажатие вторичной кнопки.
$MOUSE_SECONDARYUP_EVENT ;Отжатие вторичной кнопки.
$MOUSE_SECONDARYDBLCLK_EVENT ;Двойное нажатие вторичной кнопки.
$MOUSE_WHEELDOWN_EVENT ;Зажатие средней кнопки.
$MOUSE_WHEELUP_EVENT ;Отжатие средней кнопки.
$MOUSE_WHEELDBLCLK_EVENT ;Двойное нажатие средней кнопки.
$MOUSE_WHEELSCROLL_EVENT ;Прокручивание коллёсика средней кнопки.
$MOUSE_WHEELSCROLLDOWN_EVENT ;Прокручивание коллёсика средней кнопки вниз.
$MOUSE_WHEELSCROLLUP_EVENT ;Прокручивание коллёсика средней кнопки вверх.
$MOUSE_XBUTTONDOWN_EVENT ;Зажатие боковой кнопки (обычно это кнопки навигации).
$MOUSE_XBUTTONUP_EVENT ;Отжатие боковой кнопки.
$MOUSE_XBUTTONDBLCLK_EVENT ;Двойное нажатие боковой кнопки.
$MOUSE_XBUTTON2DOWN_EVENT ;Зажатие боковой кнопки #2 (обычно это кнопки навигации).
$MOUSE_XBUTTON2UP_EVENT ;Отжатие боковой кнопки #2.
$MOUSE_XBUTTON2DBLCLK_EVENT ;Двойное нажатие боковой кнопки #2.
Скачать: MouseOnEvent_2.4.zip
- Автор
- CreatoR (G.Sandler)
- Источник
- Ссылка на источник
Вложения
Последнее редактирование: