UDF > GUI > GuiEdit >


_GUICtrlEdit_SetSel

Sélectionne une plage de caractères

#include <GuiEdit.au3>
_GUICtrlEdit_SetSel ( $hWnd, $iStart, $iEnd )

Paramètres

$hWnd ID/handle du contrôle
$iStart Indique la position de départ de la sélection.
$iEnd Indique la position de fin de la sélection.

Valeur de retour

Aucune.

Remarques

La valeur de départ peut être supérieure à la valeur de fin.
La plus faible des deux valeurs indique la position du premier caractère de la sélection.
La valeur la plus élevée indique la position du premier caractère au-delà de la sélection.

La valeur de départ est le point d'ancrage de la sélection, et la valeur de fin est l'extrémité active.
Si l'utilisateur utilise la touche SHIFT pour ajuster la taille de la sélection, l'extrémité active peut se déplacer, mais le point d'ancrage reste le même.

Si $iStart vaut 0 et $iEnd vaut -1, tout le texte du contrôle d'édition est sélectionnée.
Si $iStart vaut -1, toute sélection en cours est désactivée.

Le contrôle affiche un caret clignotant à la position $iEnd quelles que soient les valeurs relatives de $iStart et $iEnd.

En relation

_GUICtrlEdit_GetSel, _GUICtrlEdit_ReplaceSel

Exemple

#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>

Example()

Func Example()
    Local $hStatusBar, $idEdit, $hGUI
    Local $sWow64 = ""
    If @AutoItX64 Then $sWow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $sWow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\_ReadMe_.txt"
    Local $aPartRightSide[3] = [190, 378, -1], $aSel

    ; Crée une GUI
    $hGUI = GUICreate("Edit Set Sel", 400, 300)
    $idEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    _GUICtrlStatusBar_SetIcon($hStatusBar, 2, 97, "shell32.dll")
    GUISetState(@SW_SHOW)

    ; Définit les marges
    _GUICtrlEdit_SetMargins($idEdit, BitOR($EC_LEFTMARGIN, $EC_RIGHTMARGIN), 10, 10)

    ; Définit le texte
    _GUICtrlEdit_SetText($idEdit, FileRead($sFile))

    ; Définit la sélection
    _GUICtrlEdit_SetSel($idEdit, 15, 20)

    ; Obtient la sélection
    $aSel = _GUICtrlEdit_GetSel($idEdit)
    _GUICtrlStatusBar_SetText($hStatusBar, "Start: " & $aSel[0])
    _GUICtrlStatusBar_SetText($hStatusBar, "End: " & $aSel[1], 1)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example