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 <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $hGUI, $hImage, $aSel, $hCombo
; Create GUI
$hGUI = GUICreate("ComboBoxEx Set Edit Sel", 400, 300)
$hCombo = _GUICtrlComboBoxEx_Create($hGUI, "", 2, 2, 394, 70, BitOR($CBS_SIMPLE, $WS_VSCROLL, $WS_BORDER))
$g_idMemo = GUICtrlCreateEdit("", 2, 72, 396, 226, 0)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
$hImage = _GUIImageList_Create(16, 16, 5, 3)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 110)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 165)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 168)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 137)
_GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 146)
_GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($hCombo, 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($hCombo, 0x00FF00, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap($hCombo, 0x0000FF, 16, 16))
_GUICtrlComboBoxEx_SetImageList($hCombo, $hImage)
; Add strings
For $x = 0 To 8
_GUICtrlComboBoxEx_AddString($hCombo, StringFormat("%03d : Random string", Random(1, 100, 1)), $x, $x)
Next
;Set Cur Sel
_GUICtrlComboBoxEx_SetCurSel($hCombo, Random(0, 8, 1))
;Set Edit Sel
_GUICtrlComboBoxEx_SetEditSel($hCombo, 0, 4)
;Get Edit Sel
$aSel = _GUICtrlComboBoxEx_GetEditSel($hCombo)
MemoWrite(StringFormat("Selected: [%d][%d]", $aSel[0], $aSel[1]))
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example
; Write a line to the memo control
Func MemoWrite($sMessage)
GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite