UDF > GUI > GuiRichEdit >


_GUICtrlRichEdit_GetFirstCharPosOnLine

Obtient la position inter-caractères précédant le premier caractère d'une ligne

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

Paramètres

$hWnd Handle du contrôle
$iLine [optionnel] Numéro de ligne
Par défaut: ligne courante

Valeur de retour

Succès: Retourne la position du premier caractère de la ligne.
Échec: Retourne 0 et définit @error <> 0.
@error: 101 - $hWnd n'est pas un handle
1021 - $iLine n'est ni positive ni -1
1022 - $iLine est supérieur au nombre de lignes de texte

Remarques

Un contrôle qui ne contient pas de texte a une ligne.

La première ligne est la ligne 1. La position du premier caractère dans la zone client est 0.

Voir aussi

Consultez EM_GETLINEINDEX dans la librairie MSDN.

Exemple

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

Global $g_idLblMsg

Example()

Func Example()
    Local $hGui, $iMsg, $iCp1, $hRichEdit
    $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, "Ceci est un test.", 10, 10, 300, 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, @CRLF & "http://www.autoitscript.com")
    $iCp1 = _GUICtrlRichEdit_GetFirstCharPosOnLine($hRichEdit, 2)
    _GUICtrlRichEdit_SetSel($hRichEdit, $iCp1, $iCp1 + 3)
    Report("Character attributes at start of line 2 are " & _
            _GUICtrlRichEdit_GetCharAttributes($hRichEdit))

    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    _GUICtrlRichEdit_Destroy($hRichEdit) ; Nécessaire sauf si le script se bloque
    ; GUIDelete(); est OK aussi
EndFunc   ;==>Example

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