Что нового

[Элементы GUI] Срабатывание функции при выборе строки из ComboBox

Maks

Новичок
Сообщения
26
Репутация
0
Подскажите пожайлуста, может есть какая-то функция, которая определяет выбор строки из ComboBox? Это мне нужно для выполнения, например функции RestartComp(), если выбрана строка "перезагрузить". Спасибо!
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Код:
$GUI = GUICreate('')
$Combo1 = GUICtrlCreateCombo('Выключить', 50, 50, 150)
GUICtrlSetData(-1, 'Перезагрузить|Logoff')
GUISetState()

While 1
	Switch GUIGetMsg()
		Case -3
			Exit
		Case $Combo1
			$ComboText = GUICtrlRead($Combo1)
			If $ComboText = 'Выключить' Then MsgBox(0, '', 'Выключить')
			If $ComboText = 'Перезагрузить' Then RestartComp()
			If $ComboText = 'Logoff' Then MsgBox(0, '', 'Logoff')
	EndSwitch
WEnd
 
Автор
M

Maks

Новичок
Сообщения
26
Репутация
0
Спасибо большое, то что надо!
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Функция Switch в этом случае оптимизированней.

Код:
$GUI = GUICreate('')
$Combo1 = GUICtrlCreateCombo('', 50, 50)
GUICtrlSetData(-1, 'Выключить|Перезагрузить|Logoff', 'Выключить')
GUISetState()

While 1
    Switch GUIGetMsg()
        Case -3
            Exit
        Case $Combo1
			Switch GUICtrlRead($Combo1)
				Case 'Выключить'
					MsgBox(0, '', 'Выключить')
				Case 'Перезагрузить'
					RestartComp()
				Case 'Logoff'
					MsgBox(0, '', 'Logoff')
				Case Else
					MsgBox(0, '', 'Ни один из')
			EndSwitch
    EndSwitch
WEnd

Func RestartComp()
	MsgBox(0, '', 'здесь была функция')
EndFunc
 
Верх