Что нового

Как получить позицию каретки в поле "TSynEdit"

Vintets

Новичок
Сообщения
12
Репутация
4
Есть сторонняя программа на Delphi с полем редактора "TSynEdit". Не получается получить позицию каретки для определения текущей строки на котором находится каретка.
Указатель ControlID получает. Весь текст из Edit получает функцией ControlGetText.

Пользовался AutoIt V3 Window Info, Control Viewer, wInformer

Код:
If Not WinExists('[CLASS:TfrmEdit]') Then
    MsgBox(4096, 'Сообщение', 'Окно не найдено, завершаем работу скрипта')
    Exit
EndIf

$hWnd = WinGetHandle('[CLASS:TfrmEdit]')
ConsoleWrite('найдено окно   hWnd = ' & $hWnd & @CRLF)
$hEdit = ControlGetHandle($hWnd, '', '[CLASS:TSynEdit; INSTANCE:1]')
ConsoleWrite('найден контрол hWnd = ' & $hEdit & @CRLF)

ConsoleWrite('отображение:          ' & ControlCommand($hWnd, '', '[CLASS:TSynEdit; INSTANCE:1]', 'IsVisible') & @CRLF)
WinActivate($hWnd)
ControlFocus($hWnd, '', '[CLASS:TSynEdit; INSTANCE:1]')

ConsoleWrite('Всего строк           ' & ControlCommand($hWnd, '', '[CLASS:TSynEdit; INSTANCE:1]', 'GetLineCount') & @CRLF)
; определяем номер строки
$cur_line = ControlCommand($hWnd, '', '[CLASS:TSynEdit; INSTANCE:1]', 'GetCurrentLine') ; '[CLASSNN:TSynEdit; INSTANCE:1]'
ConsoleWrite('Текущая строка №      ' & $cur_line & @CRLF)

; извлекаем текст
$Text = ControlGetText('[CLASS:TfrmEdit]', '', '[CLASS:TSynEdit]')
ConsoleWrite('Текст элемента Edit:' & @CRLF & $Text)


В итоге в консоли:
Код:
найдено окно   hWnd = 0x0001085A
найден контрол hWnd = 0x00EB0782
отображение:          1
Всего строк           0
Текущая строка №      1
Текст элемента Edit:
// Author: Anonymous
// Version: 1.0 (17.06.2016)
#name "New Script"
print("Hello, world!")
HALT

Как видно из ControlCommand срабатывает только команда "IsVisible".
Количество строк не показывает (это в принципе не критично, текст то извлекает).
Текущую строку всегда отображает как "1".
 

Вложения

  • 2016-06-17_17-03-53.png
    2016-06-17_17-03-53.png
    22.7 КБ · Просмотры: 8
  • 2016-06-17_17-02-59.png
    2016-06-17_17-02-59.png
    23.4 КБ · Просмотры: 9
Верх