Funktionreferenz


_GUICtrlEdit_LineFromChar

Beschreibung anzeigen in

Ermittelt den Index der Zeile, welche den festgelegten Zeichenindex enthält

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

Parameter

$hWnd Control-ID / Handle des Controls
$iIndex [optional] Der Zeichenindex des Zeichens, welches in der Zeile enthalten ist, dessen Zahl ermittelt werden soll

Rückgabewert

Gibt die 0-basierte Zeilenummer der Zeile zurücke welche den Zeichenindex enthält der über $iIndex angegeben wurde.

Bemerkungen

Falls $iIndex –1 ist ermittelt _GUICtrlEdit_LineFromChar() entweder die Zeilennummer der aktuellen Zeilen (Die Zeile enthält das blinkende Zeichen) oder falls es dort eine Markierung gibt, die Zeilennummer der Zeile, wo die Markierung beginnt.

- - - - - - - - Erklärung der Controls - - - - - - - -

Beispiel

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

Example()

Func Example()
    Local $hStatusBar, $idEdit, $hGui, $iRandom
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"

    ; Erstellt eine GUI
    $hGui = GUICreate("Edit: Ermittelt die Zeile, welche den angegebenen Zeichenindex enthält", 600, 300)
    $idEdit = GUICtrlCreateEdit("", 2, 2, 594, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $hStatusBar = _GUICtrlStatusBar_Create($hGui)
    GUISetState(@SW_SHOW)

    ; Setzt den Text
    _GUICtrlEdit_SetText($idEdit, FileRead($sFile))

    ; Ermittelt den Index der Zeile, welche den festgelegten Zeichenindex enthält
    $iRandom = Random(0, _GUICtrlEdit_GetTextLen($idEdit) - 1, 1)
    _GUICtrlEdit_SetSel($idEdit, $iRandom - 1, $iRandom)
    _GUICtrlStatusBar_SetText($hStatusBar, "Das " & $iRandom & ". Zeichen befindet sich in Zeile " & _GUICtrlEdit_LineFromChar($idEdit, $iRandom))

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example