Что нового

переход к функции по нажатию мышки

saraconor

Новичок
Сообщения
420
Репутация
3
Код:
HotKeySet("!{ё}","_01") ;обычный переход к функции по хоткею.

А как устроить чтобы переход к функции был назначен на нажатие левой кнопкой мыши? Или даже на зажатие мышиной кнопки, без поднятия?
 

WSWR

AutoIT Гуру
Сообщения
941
Репутация
363
saraconor

http://autoit-script.ru/index.php/topic,198.0.html

Код:
#include <MouseOnEvent.au3>

HotKeySet('{Esc}', '_Quit')

_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, 'MOUSE_EVENT') ; зажатие левой кнопки

While 1
	Sleep(10)
WEnd

Func MOUSE_EVENT()
MsgBox(0, 'Заголовок', 'Сообщение')
EndFunc


Func _Quit()
	Exit
EndFunc
 
Автор
S

saraconor

Новичок
Сообщения
420
Репутация
3
Большое вам спасибо! вот мой скриптик:
Код:
#include <MouseOnEvent.au3>
HotKeySet("!^+{у}","escape") ;завершить процесс
$s = 0
$g = 0
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, 'AGOS') ; lm dwn
_MouseSetOnEvent($MOUSE_PRIMARYUP_EVENT, 'ATOS') ; lm up

While $s = 0
if $g = 1 Then
$g = $g + 1
$pos1 = MouseGetPos()
endif
if $g = 3 Then
$g = $g + 1
$pos2 = MouseGetPos()
endif
if $g = 5 Then
$pos3 = MouseGetPos()
$g = $g + 1
endif
if $g = 7 Then
mousemove($pos1[0],$pos1[1],0)
mousedown("left")
mousemove($pos2[0],$pos2[1],0)
mouseup("left")
mousemove($pos3[0],$pos3[1],0)

endif
if $g = 11 Then $g = 0
	
Sleep(1)
WEnd

Func AGOS()
$g = $g + 1
EndFunc

Func ATOS()
$g = $g + 1
EndFunc

func escape()   ;завершить процесс
ToolTip("")
ToolTip('завершение скрипта')
sleep(500)
ToolTip("")
Exit
endfunc

на его основе создаю себе удобный инструмент для рисования кривых линий с узкими концами :smile:

подскажите пожалуйсто, как можно спрятать эти чудесные функции, чтобы до момента истины (а именно, когда $go = 1) они не работали?
может тупо взять и:
Код:
if $go = 1 then $start = "_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, 'AGOS') ; lm dwn"
?
 

Dimmak

Знающий
Сообщения
185
Репутация
9
Код:
If $go = 1 Then
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT, 'AGOS')
Else
_MouseSetOnEvent($MOUSE_PRIMARYDOWN_EVENT)
EndIf
 
Верх