Obtient la position inter-caractères précédant le premier caractère d'une ligne
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetFirstCharPosOnLine ( $hWnd [, $iLine = -1] )
$hWnd | Handle du contrôle |
$iLine | [optionnel] Numéro de ligne Par défaut: ligne courante |
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 |
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.
Consultez EM_GETLINEINDEX dans la librairie MSDN.
#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