Что нового

[Мышь, клавиатура] Как узнать положение курсора ввода

roman-info01

Новичок
Сообщения
17
Репутация
0
Уважаемые господа! Как узнать координаты курсора ввода текста (не MouseGetPos())

Например, есть форма, на ней несколько полей ввода (или один многострочный компонент - блокнот)
В данном окне мигает курсор ввода, как узнать его координаты? Это вообще возможно?

Спасибо
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
roman-info01
Код:
WinGetCaretPos
 
Автор
R

roman-info01

Новичок
Сообщения
17
Репутация
0
Как-то я эту функцию просмотрел. Спасибо. Тема закрыта!
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
roman-info01,
Код:
Global $hWin

HotKeySet('{Esc}', '_Exit')
HotKeySet('^1', '_GetInfo')

Run('notepad')
$hWin = WinWait('[Class:Notepad]')
If Not $hWin Then Exit 1

While WinExists($hWin)
	Sleep(500)
WEnd

Func _GetInfo()
	Local $iLine, $iPos, $aPos, $sMessage, $iX = -1, $iY = -1
	$iLine = ControlCommand($hWin, '', '[CLASS:Edit; INSTANCE:1]', 'GetCurrentLine')
	$iPos = ControlCommand($hWin, '', '[CLASS:Edit; INSTANCE:1]', 'GetCurrentCol')
	$aPos = WinGetCaretPos()
	If Not @error Then
		$iX = $aPos[0]
		$iY = $aPos[1]
	EndIf
	$sMessage = StringFormat('Line: %d\tPos: %d\nX: %d\tY: %d', $iLine, $iPos, $iX, $iY)
	ToolTip($sMessage, 0, 0)
EndFunc   ;==>_GetInfo

Func _Exit()
	Exit
EndFunc   ;==>_Exit
 

SyDr

Сидра
Сообщения
651
Репутация
158
[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх