Войти

Показать полную графическую версию : [решено] Как получить значение текущего индекса Combo и кол-во элементов Combo


malev
22-06-2009, 09:49
Есть следущий код:

#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Обмен данными", 319, 150, 193, 115)
$Group1 = GUICtrlCreateGroup("Выберите действие", 6, 3, 305, 141)
$cmbSelect = GUICtrlCreateCombo("Загрузка/выгрузка данных", 26, 35, 265, 25)
GUICtrlSetData(-1,"Только выгрузка данных")
GUICtrlSetData(-1,"Только загрузка данных")
$cmdRun = GUICtrlCreateButton("Выполнить", 67, 78, 85, 25, 0)
$cmdExit = GUICtrlCreateButton("Закрыть", 163, 78, 85, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $cmbSelect
Case $cmdRun
Switch GUICtrlRead($cmbSelect)
Case "Загрузка/выгрузка данных"

Case "Только выгрузка данных"

Case "Только загрузка данных"

EndSwitch


Case $cmdExit
Exit
EndSwitch
WEnd

Как сделать обработку выбора элемента Combo не по названию а по индексу, т.е. к примеру должно быть не Switch GUICtrlRead($cmbSelect) Case "Загрузка/выгрузка данных" а что то типа Switch GUICtrlRead($cmbSelect) Case $cmbSelect(Текущий индекс)

Creat0R
22-06-2009, 10:11
#include <GUIConstants.au3>
#include <GUICombo.au3>
;

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Обмен данными", 319, 150, 193, 115)
$Group1 = GUICtrlCreateGroup("Выберите действие", 6, 3, 305, 141)
$cmbSelect = GUICtrlCreateCombo("Загрузка/выгрузка данных", 26, 35, 265, 25)
GUICtrlSetData(-1, "Только выгрузка данных")
GUICtrlSetData(-1, "Только загрузка данных")
$cmdRun = GUICtrlCreateButton("Выполнить", 67, 78, 85, 25, 0)
$cmdExit = GUICtrlCreateButton("Закрыть", 163, 78, 85, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;

While 1
$nMsg = GUIGetMsg()

Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $cmbSelect

Case $cmdRun
Switch _GUICtrlComboGetCurSel($cmbSelect)
Case 0
;"Загрузка/выгрузка данных"
Case 1
;"Только выгрузка данных"
Case 2
;"Только загрузка данных"
EndSwitch
Case $cmdExit
Exit
EndSwitch
WEnd

malev
22-06-2009, 10:42
Спасибо, только в новой версии #include <GUIComboBox.au3> и _GUICtrlComboBox_GetCurSel($cmbSelect),
_GUICtrlComboBox_GetCount($cmbSelect) - кол-во всего элементов. Решено.

Creat0R
22-06-2009, 16:26
в новой версии #include <GUIComboBox.au3> и _GUICtrlComboBox_GetCurSel($cmbSelect) »
Упс... это я перед открытием SciTE'а забыл переключить с 3.2.8.1 (у меня на ней есть ещё пару старых проектов) на 3.3.0.0 :blush2: .

proxy
22-06-2009, 16:27
это я перед открытием SciTE'а забыл переключить с 3.2.8.1
.......исторический, наш, Creat0R, ))))))))))))))




© OSzone.net 2001-2012