Что нового

Не могу правильно поймать двойной клик мыши

ВиталийВВ

Новичок
Сообщения
172
Репутация
0
Добрый день.
Вот написал:
Код:
#include <File.au3>
#include <Misc.au3>
#include 'MouseOnEvent.au3' ; UDF => http://autoit-script.ru/index.php?topic=198.0

$i = 1
While 1
		$x = (@DesktopWidth/_FileCountLines("data2.txt")) * ($i - 1)
		ToolTip ($i&" / "& _FileCountLines("data2.txt"), $x, 0, FileReadLine ( "data2.txt", $i))
		_MouseSetOnEvent_RI($MOUSE_WHEELSCROLLUP_EVENT, 'up')
		_MouseSetOnEvent_RI($MOUSE_WHEELSCROLLDOWN_EVENT, 'down')
		_MouseSetOnEvent_RI($MOUSE_PRIMARYDBLCLK_EVENT, '_DblClk_Event_E')
		Sleep (30)
WEnd

Func _DblClk_Event_E()
    Sleep(300)
    Send('^{INS}')
	$in = ClipGet()
	$in = StringRegExpReplace ($in, " ", "")
	ClipPut ($in)
EndFunc   ;==>_DblClk_Event

Func down()
	If $i <= _FileCountLines("data2.txt") Then $i += 1
	If $i > _FileCountLines("data2.txt") Then $i = 1
	ClipPut (FileReadLine ("data2.txt", $i))
EndFunc   ;==>_DblClk_Event

Func up()
	If $i >= 1 Then $i -= 1
	If $i < 1 Then $i = _FileCountLines("data2.txt")
	ClipPut (FileReadLine ("data2.txt", $i))
EndFunc   ;==>_DblClk_Event

суть программы - скролингом мышки выбирается одна из фраз в исходном файле и копируется в буфер (эта часть работает вполне нормально)
И, вторая часть (программы), подразумевается что при двойном клике по какому то слову в любом тексте это слово выделяется и копируется в буфер. Вот тут проблемы две.
1 - не всегда копируется в буфер
2 - при копировании в буфер, если слово в середине текста и захватывается пробел идущий после него, то никак не могу этот пробел убрать. кусок кода, который это делает есть, и по идее то должен вырезать пробел, но вырезание то происходит, то нет. (пробовал функцией удаление пробелов - тоже как то не всегда срабатывает).
Силы думать иссекают.
Помогите.
 
Верх