Définit la position du caractère inférieur et du caractère supérieur d'une sélection
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetSel ( $hWnd, $iAnchor, $iActive [, $bHideSel = False] )
$hWnd | Handle du contrôle |
$iAnchor | La position du premier caractère de la sélection La valeur spéciale -1 indique le début du texte |
$iActive | la position du dernier caractère de la sélection La valeur spéciale -1 indique la fin du texte |
$bHideSel | [optionnel] True pour cacher la sélection |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle 102 - $iAnchor n'est ni un nombre positif ni zéro ni -1 103 - $iActive n'est ni un nombre positif ni zéro ni -1 104 - $bHideSel doit être True ou False |
Le premier caractère du texte d'un contrôle est en position 0.
$iActive peut être inférieur à $iAnchor.
_GUICtrlRichEdit_Deselect, _GUICtrlRichEdit_GetSel, _GUICtrlRichEdit_GetSelAA, _GUICtrlRichEdit_GotoCharPos, _GUICtrlRichEdit_IsTextSelected
Consultez EM_EXSETSEL dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <GuiRichEdit.au3> #include <WindowsConstants.au3> Global $g_idLblMsg, $g_hRichEdit Example() Func Example() Local $hGui, $iMsg, $idBtnNext, $iStep = 0, $iCp1 $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1) $g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "Ceci est un test.", 10, 10, 300, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL, $ES_NOHIDESEL)) $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60) $idBtnNext = GUICtrlCreateButton("Suivant", 270, 310, 40, 30) GUISetState(@SW_SHOW) $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $idBtnNext Then $iStep += 1 Switch $iStep Case 1 _GUICtrlRichEdit_SetSel($g_hRichEdit, 0, 3) Report("1. Les attributs initiaux des caractères au début de la ligne 1 sont ") Case 2 _GUICtrlRichEdit_AutoDetectURL($g_hRichEdit, True) _GUICtrlRichEdit_AppendText($g_hRichEdit, @CRLF & "http://www.autoitscript.com") $iCp1 = _GUICtrlRichEdit_GetFirstCharPosOnLine($g_hRichEdit, 2) _GUICtrlRichEdit_SetSel($g_hRichEdit, $iCp1, $iCp1 + 3) Report("2. Les attributs des caractères au début de la ligne 2 sont ") GUICtrlSetState($idBtnNext, $GUI_DISABLE) EndSwitch EndIf $iMsg = GUIGetMsg() WEnd _GUICtrlRichEdit_Destroy($g_hRichEdit) ; Nécessaire sauf si le script se bloque ; GUIDelete(); est OK aussi EndFunc ;==>Example Func Report($sMsg) Local $sRet = _GUICtrlRichEdit_GetCharAttributes($g_hRichEdit) $sMsg = $sMsg & @CRLF & @CRLF & "Attributs caractères=" & $sRet GUICtrlSetData($g_idLblMsg, $sMsg) EndFunc ;==>Report