Что нового

[Элементы GUI] GUI Combobox получить выбранное значение

TwDY

Новичок
Сообщения
13
Репутация
0
Добрый день, нужно получить значение из Combobox, делаю так
Код:
$hGUI = GUICreate("Choice", 400, 300)
	$hCombo = _GUICtrlComboBoxEx_Create ($hGUI, "", 2, 2, 394, 100)
	GUISetState()
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 1"))
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 2"))
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 3"))
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 4"))
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 5"))
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 6"))
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%d 7"))
	_GUICtrlComboBoxEx_InitStorage ($hCombo, 150, 300)
	_GUICtrlComboBoxEx_BeginUpdate ($hCombo)
	_GUICtrlComboBoxEx_EndUpdate ($hCombo)
	 $n = GUICtrlCreateButton("Choice", 10, 110, 50)
    GUICtrlSetState(-1, $GUI_FOCUS) 
    Do
        $msg = GUIGetMsg()
        If $msg = $n Then
            MsgBox(0, "Выбранный пункт", GUICtrlRead($hCombo), 0, $hGui) 
  
        EndIf
    Until $msg = $GUI_EVENT_CLOSE

но выдает 0, можете подсказать, где накосячил или как лучше сделать?
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Re: [Элементы GUI] GUI Combobox полученить выбранное значение

Код:
_GUICtrlComboBoxEx_GetItemText

только зачем такие сложности?
разве обычный
Код:
GUICtrlCreateCombo

не удовлетворяет?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Элементы GUI] GUI Combobox полученить выбранное значение

TwDY,
Код:
#include <GuiComboBoxEx.au3>
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>

$hGUI = GUICreate('Choice', 400, 300)
$hCombo = _GUICtrlComboBoxEx_Create($hGUI, '', 2, 2, 394, 100, $CBS_DROPDOWNLIST)
$iBtn = GUICtrlCreateButton('Choice', 10, 110, 50, 25, BitOR($GUI_SS_DEFAULT_BUTTON, $BS_DEFPUSHBUTTON))
GUISetState()
_GUICtrlComboBoxEx_InitStorage ($hCombo, 256, 48)
_GUICtrlComboBoxEx_BeginUpdate($hCombo)
For $i = 0 To 255
    _GUICtrlComboBoxEx_AddString($hCombo, StringFormat('String number %d', $i + 1))
Next
_GUICtrlComboBoxEx_SetCurSel ($hCombo, Random(0, 255, 1))
_GUICtrlComboBoxEx_EndUpdate($hCombo)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $iBtn
            Local $sText, $iInd = _GUICtrlComboBoxEx_GetCurSel($hCombo)
             _GUICtrlComboBoxEx_GetItemText ($hCombo, $iInd, $sText)
            MsgBox(64, 'Info', $sText, 0, $hGUI)
    EndSwitch
WEnd
 
Верх