Что нового

[Элементы GUI] Отображание значений в $Combo

prokazzza

Новичок
Сообщения
160
Репутация
2
Подскажите, как сделать чтобы при запуске скрипта в $Combo6 отображалось значение $Mut0, но так, чтобы в последствии оно не показывалось в выпадающем списке $Combo6.

Код:
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#Include <GuiComboBox.au3>

GUICreate("", 300, 302)
GUISetState(@SW_SHOW)

;================================================================================================================================================================================================================================

$Name1 = '1'
$Name2 = '2'
$Name3 = '3'

$e=''
For $i = 1 to 3
    $e&=Eval('Name' & $i)&'|'
Next
$e=StringTrimRight($e, 1)
$Combo1 = GUICtrlCreateCombo("", 16, 174, 147, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
GUICtrlSetData(-1, $e, $Name1)

;=================================================================================================================================================================================================================

$MutPl1 = "A"
$MutPl2 = "B"
$MutPl3 = "C"

$Mut0 = 'Выберите'
$Mut1 = '1111'
$Mut2 = '2222'
$Mut3 = '3333'
$Mut4 = '4444'
$Mut5 = '5555'
$Mut6 = '6666'

Global $aCombo5[3] = [$MutPl1, $MutPl2, $MutPl3]
Global $aCombo6[3] = [$Mut1&'|'&$Mut2, $Mut3&'|'&$Mut4, $Mut5&'|'&$Mut6]

$Combo5 = GUICtrlCreateCombo("", 16, 222, 85, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
GUICtrlSetData(-1, _ArrayToString($aCombo5), $aCombo5[1])
GUICtrlSetState($Combo5, $GUI_DISABLE)

$Combo6 = GUICtrlCreateCombo("", 106, 222, 180, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
_SetCombo6()
GUISetState(@SW_SHOW)
GUICtrlSetState($Combo6, $GUI_DISABLE)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
		Case $Combo5
        _SetCombo6()	
		
		Case $Combo1
            _SetCombo6()	
			If GUICtrlRead($Combo1) = $Name3 Then
				GUICtrlSetState($Combo5, $GUI_ENABLE)				
				GUICtrlSetState($Combo6, $GUI_ENABLE)
			Else
				GUICtrlSetState($Combo5, $GUI_DISABLE)			
                GUICtrlSetState($Combo6, $GUI_DISABLE)
            EndIf		

	EndSwitch
WEnd

Func _SetCombo6()
    GUICtrlSetData($Combo6, "", "")
    GUICtrlSetData($Combo6, $aCombo6[_ArraySearch($aCombo5, GUICtrlRead($Combo5))])
    _GUICtrlComboBox_SetCurSel($Combo6, 0)
EndFunc

Exit


Как должно выглядеть:

 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
В 47-ой строке вместо
Код:
_SetCombo6()


поставь
Код:
GUICtrlSetData($Combo6, $Mut0, $Mut0)
 

damien2008

Осваивающий
Сообщения
178
Репутация
34
перед
Код:
GUICtrlSetState($Combo5, $GUI_DISABLE)
GUICtrlSetState($Combo6, $GUI_DISABLE)


тоже можно добавить
Код:
GUICtrlSetData($Combo6, $Mut0, $Mut0)


тогда будет восстанавливать при "Disable"
Код:
$Mut0

ака 'Выберите'
 
Верх