↑  ←  Описание функции


_GUICtrlEdit_LineFromChar

Возвращает индекс строки, в которой находится символ с указанным индексом

#include <GuiEdit.au3>
_GUICtrlEdit_LineFromChar($hWnd [, $iIndex = -1])

Параметры

$hWnd Дескриптор или идентификатор элемента
$iIndex [необязательный] Индекс символа, строка которого должна быть получена. Отсчёт от 1, перенос строки @CRLF учитывается как 2 символа.

Возвращаемое значение

Успех: Возвращает индекс строки, отсчёт от 0

Примечания

Если $iIndex равен -1, то _GUICtrlEdit_LineFromChar возвращает номер текущей строки, в которой находится курсор. Или если текст выделен, то возвращается номер строки, содержащей начало выделенного фрагмента.

Пример

#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Debug_Ed = False ; Проверяет ClassName передаваемый в Edit функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $hStatusBar, $hEdit, $hGUI, $iRandom
    Local $sWow64 = ""
    If @autoitx64 Then $sWow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\_ReadMe_.txt"

    ; Создаёт GUI
    $hGUI = GUICreate("Получает строку символа", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $hStatusBar = _GUICtrlStatusBar_Create($hGUI)
    GUISetState()

    ; Устанавливает текст
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))

    ; Получает строку символа
    $iRandom = Random(0, _GUICtrlEdit_GetTextLen($hEdit) - 1, 1)
    _GUICtrlEdit_SetSel($hEdit, $iRandom-1, $iRandom)
    _GUICtrlStatusBar_SetText($hStatusBar, "Символ " & $iRandom & " находится в строке: " & _GUICtrlEdit_LineFromChar($hEdit, $iRandom))

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main