Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Как получить значение текущего индекса Combo и кол-во элементов Combo (http://forum.oszone.net/showthread.php?t=143210)

malev 22-06-2009 09:49 1148735

Как получить значение текущего индекса Combo и кол-во элементов Combo
 
Есть следущий код:
Код:

#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 1148755

Код:

#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 1148768

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

Creat0R 22-06-2009 16:26 1149062

Цитата:

Цитата malev
в новой версии #include <GUIComboBox.au3> и _GUICtrlComboBox_GetCurSel($cmbSelect) »

Упс... это я перед открытием SciTE'а забыл переключить с 3.2.8.1 (у меня на ней есть ещё пару старых проектов) на 3.3.0.0 :blush2: .

proxy 22-06-2009 16:27 1149065

Цитата:

это я перед открытием SciTE'а забыл переключить с 3.2.8.1
.......исторический, наш, Creat0R, ))))))))))))))


Время: 10:18.

Время: 10:18.
© OSzone.net 2001-