_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