Ну вообще то в первом варианте (то что не работает), в любом случае $msg будет "красное", т.к изначально выбор стоит на яблоке.
Скорее всего нужно так:
Код:
#include <GUIConstantsEx.au3>
Global $sCombo_Data = 'яблоко|шарик|вода|трава|изолента'
Global $sType_Data = 'красное|круглый|мокрая|зеленая|синяя'
$hGUI = GUICreate('Form1', 300, 100)
$Combo1 = GUICtrlCreateCombo('', 24, 24, 145, 25)
GUICtrlSetData(-1, $sCombo_Data, 'яблоко')
$Button1 = GUICtrlCreateButton('Button1', 192, 24, 75, 25)
GUISetState(@SW_SHOW)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
start()
EndSwitch
WEnd
Func start()
Local $sRead = GUICtrlRead($Combo1)
Local $aCombo = StringSplit($sCombo_Data, '|')
Local $aType = StringSplit($sType_Data, '|')
For $i = 1 To $aCombo[0]
If $aCombo[$i] = $sRead Then
MsgBox(64, 'info', $aType[$i], 0, $hGUI)
EndIf
Next
EndFunc