Select characters in the edit control of a ComboBox
#include <GuiComboBoxEx.au3>
_GUICtrlComboBoxEx_SetEditSel ( $hWnd, $iStart, $iStop )
$hWnd | Handle to the control |
$iStart | Starting position |
$iStop | Ending postions |
Success: | True. |
Failure: | False, if the message is sent to a ComboBox with the $CBS_DROPDOWN or $CBS_DROPDOWNLIST style. |
The positions are 0-based. The first character of the edit control is in the zero position.
If $iStop is –1, all text from the starting position to the last character in the edit control is selected.
The first character after the last selected character is in the ending position.
For example, to select the first four characters of the edit control, use a starting position of 0 and an ending position of 4.
_GUICtrlComboBox_GetEditSel, _GUICtrlComboBoxEx_GetEditSel
#include <GuiComboBox.au3>
#include <GUIConstantsEx.au3>
Global $g_idMemo
Example()
Func Example()
; Create GUI
GUICreate("ComboBox Get/Set Edit Sel (v" & @AutoItVersion & ")", 400, 296)
Local $idCombo = GUICtrlCreateCombo("", 2, 2, 396, 296)
$g_idMemo = GUICtrlCreateEdit("", 2, 32, 396, 266, 0)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
; Add files
_GUICtrlComboBox_BeginUpdate($idCombo)
_GUICtrlComboBox_AddDir($idCombo, @WindowsDir & "\*.exe")
_GUICtrlComboBox_EndUpdate($idCombo)
; Select Item
_GUICtrlComboBox_SetCurSel($idCombo, 2)
; Set Edit Sel
_GUICtrlComboBox_SetEditSel($idCombo, 0, 4)
; Get Edit Sel
Local $aSel = _GUICtrlComboBox_GetEditSel($idCombo)
MemoWrite(StringFormat("Edit Sel: %d - %d", $aSel[0], $aSel[1]))
; Loop until the user exits.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example
; Write a line to the memo control
Func MemoWrite($sMessage)
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite