Funktionreferenz


_GUICtrlRichEdit_GetFirstCharPosOnLine

Beschreibung anzeigen in

Ermittelt die Zeichenposition des ersten Zeichens einer Zeile

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetFirstCharPosOnLine ( $hWnd [, $iLine = -1] )

Parameter

$hWnd Handle des Controls
$iLine [optional] Zeilennummer
Standard: Aktuelle Zeile

Rückgabewert

Erfolg: die Zeichenposition des ersten Zeichens in der Zeile
Fehler: 0 und setzt das @error Flag auf ungleich null
@error: 101 - $hWnd ist kein Handle
1021 - $iLine ist weder positiv noch -1
1022 - $iLine überschreitet die Anzahl der Zeilen des Controls

Bemerkungen

Ein Control, das keinen Text enthält, hat keine Zeile.

Die erste Zeile ist Zeile 1. Die erste Zeichenposition im Control ist 0.

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

Siehe auch

Suche nach EM_GETLINEINDEX in der MSDN Bibliothek.

Beispiel

#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>

Global $g_idLblMsg
Example()

Func Example()
    Local $hGui, $hRichEdit, $iLastLineNumber, $iCharPosition, $iMsg
    $hGui = GUICreate("Beispiel (" & StringTrimRight(@ScriptName, StringLen(".exe")) & ")", 520, 350, -1, -1)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, "Dies ist ein Test.", 10, 10, 500, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    GUISetState(@SW_SHOW)

    _GUICtrlRichEdit_AutoDetectURL($hRichEdit, True)
    _GUICtrlRichEdit_AppendText($hRichEdit, @CR & "http://www.autoitscript.com")

    $iLastLineNumber = _GUICtrlRichEdit_GetLineCount($hRichEdit)

    ; Ermittelt die erste Zeichenposition der letzten Zeile
    $iCharPosition = _GUICtrlRichEdit_GetFirstCharPosOnLine($hRichEdit, $iLastLineNumber)

    ; Whält 4 Zeichen aus - sollte das Wort "http" sein
    _GUICtrlRichEdit_SetSel($hRichEdit, $iCharPosition, $iCharPosition + 4)
    Report("Die Zeicheneigenschaften am Anfang der Zeile sind " & $iLastLineNumber & _
            _GUICtrlRichEdit_GetCharAttributes($hRichEdit))

    While True
        $iMsg = GUIGetMsg()
        Select
            Case $iMsg = $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit) ; wird benötigt, da sonst das Skript abstürzt
;~              GUIDelete()     ; ist auch in Ordnung
                Exit
        EndSelect
    WEnd
EndFunc   ;==>Example

Func Report($sMsg)
    GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc   ;==>Report