Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <GUIComboBoxEx.au3>
#include <WindowsConstants.au3>
;

Global $aLangs_Data[3][3] = _
    [ _
        [2, ""], _
        ["English", "Браузеры|Графические редакторы", "Браузеры"], _
        ["Русский", "Архиваторы|Файловые менеджеры", "Архиваторы"] _
    ]

$hGUI = GUICreate("Test Script")

GUICtrlCreateLabel("Язык:", 10, 10, 50)
$nCombo_1 = GUICtrlCreateCombo($aLangs_Data[2][0], 100, 7, 150, 30, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
GUICtrlSetData(-1, $aLangs_Data[1][0], $aLangs_Data[2][0]) ; add other item snd set a new default

GUICtrlCreateLabel("Тип программы:", 10, 33, 100)
$nCombo_2 = GUICtrlCreateCombo("", 100, 30, 150, 30, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST)) ; create first item
GUICtrlSetData(-1, $aLangs_Data[2][1], $aLangs_Data[2][2]) ;add other item snd set a new default

GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

GUISetState()

While GUIGetMsg() <> $GUI_EVENT_CLOSE
WEnd

Func WM_COMMAND($hWndGUI, $nMsgID, $wParam, $lParam)
    If Not BitAND(WinGetState($hWndGUI), 2) Then Return $GUI_RUNDEFMSG

    Local $iIDFrom = BitAND($wParam, 0xFFFF) ; Low Word
    Local $iCode = BitShift($wParam, 16) ; Hi Word

    Switch $iIDFrom
        Case $nCombo_1
            Switch $iCode
                Case $CBN_SELCHANGE
                    Local $sComboData = GUICtrlRead($nCombo_1)
                    Local $sComboIndex = ControlCommand($hWndGUI, "", $nCombo_1, "FindString", $sComboData)

                    For $i = 1 To $aLangs_Data[0][0]
                        If $aLangs_Data[$i][0] = $sComboData Then
                            GUICtrlSetData($nCombo_2, "")
                            GUICtrlSetData($nCombo_2, $aLangs_Data[$i][1], $aLangs_Data[$i][2])

                            ExitLoop
                        EndIf
                    Next
            EndSwitch
    EndSwitch

    Return $GUI_RUNDEFMSG
EndFunc
На будущее, выкладывайте рабочие примеры, мне пришлось добавлять инклюды и GUICreate, не хорошо

P.S
В названии темы опечатка? возможно не GuiCtrlCreateLabel, а GUICtrlCreateCombo?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Creat0R, 29-08-2009 в 02:39. Причина: Изменил пример

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:47, 28-08-2009 | #3