UDF > GUI > GuiRichEdit >


_GUICtrlRichEdit_SetSel

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] )

Paramètres

$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

Valeur de retour

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

Remarques

Le premier caractère du texte d'un contrôle est en position 0.

$iActive peut être inférieur à $iAnchor.

En relation

_GUICtrlRichEdit_Deselect, _GUICtrlRichEdit_GetSel, _GUICtrlRichEdit_GetSelAA, _GUICtrlRichEdit_GotoCharPos, _GUICtrlRichEdit_IsTextSelected

Voir aussi

Consultez EM_EXSETSEL dans la librairie MSDN.

Exemple

#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