1.8.3. TbtkScriptTextViewObject¶
-
class
TbtkScriptTextViewObject
¶ Класс, реализующий API для управления курсором, позиционирования прокрутки на конкретной линии и работы с выделением текста в текстовых редакторах. Реализуется на уровне GUI-контроллера фрейма выборки. Доступ осуществляется через
TbtkScriptControllerObject.Text
-
CursorLine
: Integer¶ Номер линии, на который находится курсор. Чтение/Запись.
Return type: Integer New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then ShowMessage('Cursor is on line: ' + IntToStr(Selection.Controller.Text.CursorLine)); </PASCAL>
-
CursorPos
: Integer¶ Позиция курсора относительно начала текста. Чтение/Запись.
Return type: Integer New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then ShowMessage('Cursor position: ' + IntToStr(Selection.Controller.Text.CursorPos) ); </PASCAL>
-
TopLine
: Integer¶ Номер строки, которая отображается в редакторе самой первой. Чтение/Запись.
Return type: Integer New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selectioin.Controller.Text) then begin s := InputBox('Change line', 'Switch from line ' + IntToStr(Selection.Controller.Text.TopLine) + ' to line:','') Selection.Controller.Text.TopLine := StrToInt(s); end </PASCAL>
-
SelLength
: Integer¶ Длина выделенного текста в символах в текущем редакторе. Чтение/Запись.
Return type: Integer New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then begin Selection.Controller.Text.SelStart := StrToInt(InputBox('Select text', 'From', '')); Selection.Controller.Text.SelLength := StrToInt(InputBox('Select text', 'Length', '')); end </PASCAL>
-
SelStart
: Integer¶ Позиция относительно начала текста, с которой начинается выделение текста. Чтение/Запись.
Return type: Integer New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then ShowMessage('Selection starts at ' + IntToStr(Selection.Controller.Text.SelStart)); </PASCAL>
-
SelText
: String¶ Выделенный текст в текущем редакторе. Чтение/Запись. Если выделение отсутствует, при присвоении свойства происходит вставка текста в место установки курсора.
Return type: String New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then ShowMessage(Selection.Controller.Text.SelText); </PASCAL>
-
MoveCursorTo
(Line, Col: Integer)¶ Переместить курсор в указанную позиию в редакторе ввода.
Parameters: - Line (Integer) – номер линии, на которую будет перемещен курсор
- Col (Integer) – позиция относительно начала линии, на которую будет перемещен курсор.
New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then begin line := InputBox('','line',''); col := InputBox('','column',''); Selection.Controller.Text.MoveCursorTo(line, col); end; </PASCAL>
-
GetPosByLine
(LineNo: Integer; CursorAlign: TbtkLineCursorAlign): Integer¶ Возвращает позицию относительно начала текста, которая соответствует заданной линии и расположению курсора относительно линии
Parameters: - LineNo (Integer) – номер линии
- CursorAlign (TbtkLineCursorAlign) –
выравнивание курсора:
- lcaStart
- курсор в начале строки
- lcaEnd
- курсор в конце строки.
Return type: Integer
New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then begin i := InputBox('', 'Line num',''); ShowMessage('Pos at the begining of line ' + i + ' ' + IntToStr(Selection.Controller.Text.GetPosByLine(StrToInt(i), lcaStart))); end; </PASCAL>
-
GetLineByPos
(Pos: Integer): Integer¶ Возвращает номер линии в редакторе ввода, которой соответствует позиция относительно начала текста.
Parameters: Pos (Integer) – позиция в тексте Return type: Integer New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then begin pos := InputBox('','position',''); ShowMessage('Position ' + pos + ' is on line no: ' + IntToStr(Selection.Controller.Text.GetLineByPos(StrToInt(pos)))); end; </PASCAL>
-
ShowCursor
(CursorAlign: TbtkShowCursorAlign)¶ Выровнять положение линии с курсором относительно экрана.
Parameters: CursorAlign (TbtkShowCursorAlign) – выравнивание курсора:
- scaStart
- вверху экрана
- scaMiddle
- посредине экрана
- scaEnd
- внизу экрана.
New in version BtkRuntime: 5.4.0.3582 ms 1
<PASCAL> if Assigned(Selection.Controller.Text) then begin Selection.Controller.Text.CursorLine := 50; Selection.Controller.Text.ShowCursor(scaMiddle); end; </PASCAL>
-