通过Assign获取Radio定义的事件

时间:2016-08-31 08:25:48

标签: autoit

我有一个广播组的申请。未定义Radio的数量,因此我必须使用以下代码逐个分配它们:

$CmdList = _FileListToArray($CmdDir)
If @error == 0 Then
    for $i = 1 To $CmdList[0]
        Assign("Radio"&$i, GUICtrlCreateRadio(StringSplit($CmdList[$i], ".")[1], 20 + (100 + 10)*$i, 35, 100, 20))
    Next
Else
    ConsoleWrite("error directory path")
EndIf

所以,我有Radio1,Radio2,......

要控制事件,我使用以下结构:

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit

        [...]

    EndSwitch
WEnd

如何定义一个在点击收音机时调用的功能?因为我无法定义 Case $ Radio1,Case $ Radio2,...

修改:通过添加 Case Eval(" Radio1"),它可以正常工作。有没有办法为交换机生成案例?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

Case Eval("Radio"&1) to Eval("Radio"&$NumberRadio)

有效!