Что нового

Функция _GUICtrlEdit_SetSel срабатывает только на первом из Edit боксов

Naisho

Знающий
Сообщения
86
Репутация
12
Имеется GUI с двумя Edit боксами. Пытаюсь выделить в них разные участки текста, однако функция _GUICtrlEdit_SetSel срабатывает только на том, который первым нарисован.

Код:
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

_Main()

Func _Main()
	#Region ### START Koda GUI section ### Form=
	$Form2 = GUICreate("Сортировка Паттернов", 1024, 150, @DesktopWidth/2-512, @DesktopHeight/2-75)

;	$Edit1 = GUICtrlCreateEdit("", 16, 8, 2537, 36, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
	$Edit1 = _GUICtrlEdit_Create($Form2, "", 16, 8, 999, 36,  BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
	GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")

;	$Edit2 = GUICtrlCreateEdit("", 16, 64, 2537, 36, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
	$Edit2 = _GUICtrlEdit_Create($Form2, "", 16, 64, 999, 36, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
	GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
	GUISetState(@SW_SHOW)

    Local $sFile = "\lfivu\uhsgibsp9efughdifjbvnzkdfjfvbhpzifujvhpaifvhalzivubzdfbnadkjfv l\zkj b"

; Set Text
    _GUICtrlEdit_SetText($Edit1, $sFile )
	_GUICtrlEdit_SetText($Edit2, $sFile )

; Set Sel
	_GUICtrlEdit_SetSel($Edit1, 15, 20)
	_GUICtrlEdit_SetSel($Edit2, 1, 10)

;	_SendMessage($Edit1, $EM_SETSEL, 10, 20)
;	_SendMessage($Edit2, $EM_SETSEL, 1, 10)

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main


При этом _GUICtrlEdit_SetText срабатывает нормально. Подскажите, что не так?
 

AZJIO

Меценат
Меценат
Сообщения
2,879
Репутация
1,194
Naisho
Добавь стиль $ES_NOHIDESEL обоим Edit, чтобы видеть выделенное после потери фокуса. Так то работает только ты не видишь этого.
 
Верх