Функция _GUICtrlEdit_SetSel

         Описание функции


_GUICtrlEdit_SetSel

Выделяет диапазон символов

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

Параметры

$hWnd Дескриптор или идентификатор элемента
$iStart Определяет позицию начального символа выделенного.
$iEnd Определяет позицию конечного символа выделенного.

Примечания

Указанное значение начала может быть больше значения конца.
Наименьшее из двух значений определяет позицию первого символа выделенного.
Наибольшее значение определяет позицию последнего символа выделенного.

Начальное значение является якорной точкой выделенного, а конечное значение - активным окончанием выделенного.
Если пользователь использует клавишу SHIFT, чтобы установить размер выделенного, то активное окончание выделенного может перемещаться, но якорная точка выделенного останется неизменной.

Если $iStart равен 0, а $iEnd равен -1, то весь текст окна редактирования будет выделен.
Если $iStart равен -1, то любое выделение убирается.

В окне редактирования курсор мигает в позиции $iEnd независимо от относительных значений $iStart и $iEnd.

См. также

_GUICtrlEdit_GetSel, _GUICtrlEdit_ReplaceSel

Пример

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

$Debug_Ed = False ; Проверяет ClassName передаваемый в Edit функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $hStatusBar, $hEdit, $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[2] = [190, -1], $aSel

    ; Создаёт GUI
    $hGUI = GUICreate("Устанавливает выделение текста", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    GUISetState()

    ; Устанавливает текст
    _GUICtrlEdit_SetText($hEdit, FileRead($sFile))

    ; Устанавливает выделение текста
    _GUICtrlEdit_SetSel($hEdit, 15, 20)

    ; Получает выделенное
    $aSel = _GUICtrlEdit_GetSel($hEdit)
    _GUICtrlStatusBar_SetText($hStatusBar, "Начало: " & $aSel[0])
    _GUICtrlStatusBar_SetText($hStatusBar, "Конец: " & $aSel[1], 1)

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main