Funktionreferenz


_GUICtrlEdit_SetSel

Beschreibung anzeigen in

Wählt einen Bereich von Zeichen aus

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

Parameter

$hWnd Control-ID / Handle des Controls
$iStart legt die Position des ersten Zeichens der Auswahl fest.
$iEnd legt die Position des letzten Zeichens der Auswahl fest.

Rückgabewert

Keine.

Bemerkungen

Der Startwert kann größer als der Endwert sein. Der kleinere der zwei Werte legt die Position des ersten Zeichens der Auswahl fest.
Der höhere Wert legt die Position des ersten Zeichens außerhalb der Auswahl fest.

Der Startwert ist der Ankerpunkt der Auswahl und der Endwert ist das aktive Ende.
Wenn der Benutzer die Shift- (Umschalt-) Taste verwendet, um die Größe der Auswahl zu bestimmen, kann das aktive Ende bewegt werden, aber der Ankerpunkt bleibt der Gleiche.

Falls $iStart 0 ist und $iEnd -1 ist, wird der komplette Text im Edit-Control ausgewählt.
Falls $iStart -1 ist, wird jede Auswahl entfernt.

Das Control zeigt einen blinkenden Strich an der $iEnd Position an, unabhängig von den relativen Werten von $iStart und $iEnd.

- - - - - - - - Erklärung der Controls - - - - - - - -

Verwandte Funktionen

_GUICtrlEdit_GetSel, _GUICtrlEdit_ReplaceSel

Beispiel

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

Example()

Func Example()
    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

    ; Erstellt eine GUI
    Local $hGUI = GUICreate("Edit: Setzt und ermittelt die Markierung (v" & @AutoItVersion & ")", 500, 300)
    Local $idEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    Local $hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    _GUICtrlStatusBar_SetIcon($hStatusBar, 2, 97, "shell32.dll")
    GUISetState(@SW_SHOW)

    ; Setzt die Ränder
    _GUICtrlEdit_SetMargins($idEdit, BitOR($EC_LEFTMARGIN, $EC_RIGHTMARGIN), 10, 10)

    ; Setzt den Text
    _GUICtrlEdit_SetText($idEdit, FileRead($sFile))

    ; Setzt die Markierung
    _GUICtrlEdit_SetSel($idEdit, 15, 20)

    ; Ermittelt die Markierung
    $aSel = _GUICtrlEdit_GetSel($idEdit)
    _GUICtrlStatusBar_SetText($hStatusBar, "Start: " & $aSel[0])
    _GUICtrlStatusBar_SetText($hStatusBar, "Ende: " & $aSel[1], 1)

    ; Die Schleife wiederholt sich, bis der Benutzer eine Beenden-Aktion auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>Example