C++ 在AHK中使用dropdownlist和gui文本框的条件行为

C++ 在AHK中使用dropdownlist和gui文本框的条件行为,c++,autohotkey,C++,Autohotkey,假设我选择了选项1和颜色1。然后我在自由文本区写一些东西。现在,当我按下OK时,它将执行条件标记。由于选择了Option1/color1,因此它将使用以下命令执行sendinput命令: blablala%text1%blabla%text2% 但是,如果我选择选项1和颜色,它将使用 布拉布拉和妻子发短信,然后狗发短信 我已经完成了部分代码。我的问题是,当我从DropList中选择时,无论我写了什么,它都会执行脚本。我希望它在单击OK并显示text1/text2时执行,无论我想把它放在哪里 #N

假设我选择了选项1和颜色1。然后我在自由文本区写一些东西。现在,当我按下OK时,它将执行条件标记。由于选择了Option1/color1,因此它将使用以下命令执行sendinput命令:

blablala%text1%blabla%text2%

但是,如果我选择选项1和颜色,它将使用

布拉布拉和妻子发短信,然后狗发短信

我已经完成了部分代码。我的问题是,当我从DropList中选择时,无论我写了什么,它都会执行脚本。我希望它在单击OK并显示text1/text2时执行,无论我想把它放在哪里

#NoEnv
Gui, 1: font, s10 , Verdana
Gui, 1: Add, DropDownList, gDropDownList vDropDownList1 R2 choose1, Option1|Option2
Gui, 1: Add, DropDownList, gDropDownList vDropDownList2 R2 choose1, Color1|Color2
Gui, 1:Add, text,, Text1
Gui, 1:Add, edit, vText1
Gui, 1:Add, text,, Text2
Gui, 1:Add, edit, vText2
Return

DropDownList: 
Gui, 1:Submit,NoHide
if (dropdownlist1 = "Option1") && (dropdownlist2 = "Color1")
{
    MsgBox, A flower said to a be: %text1%. The bee replied %text2%
    Gui 1: hide
}
else if (dropdownlist1 = "Option1") && (dropdownlist2 = "Color2")
{    
    MsgBox, You picked %text1% and %text2%
    Gui 1: hide 
}
else if (dropdownlist1 = "Option2") && (dropdownlist2 = "Color1")
{    
    MsgBox, A girl said %text1% when you picked %text2%
    Gui 1: hide 
}
else if (dropdownlist1 = "Option2") && (dropdownlist2 = "Color2")
{    
    MsgBox, Blabla %text1% blabla %text2%
    Gui 1: hide 
}
return

#j::
Gui 1: show,, DropDownGui
return
我已经完成了部分代码。我的问题是当我选择 从DropList中,无论我写了什么,它都会执行脚本

那是因为你的下拉列表中有一个gosub。这就是gDropDownList中的g。当您从中选择某个内容时,它将运行DropDownList标签

您可以从选项字段中完全删除gDropDownList,也可以通过制作gui提交标签来制作一个标签,在单击时保存您的选择

试着这样做:

#NoEnv
Gui, 1:font, s10 , Verdana
Gui, 1:Add, DropDownList, gGuiSave vDropDownList1 R2 choose1, Option1|Option2
Gui, 1:Add, DropDownList, gGuiSave vDropDownList2 R2 choose1, Color1|Color2
Gui, 1:Add, text,, Text1
Gui, 1:Add, edit, vText1
Gui, 1:Add, text,, Text2
Gui, 1:Add, edit, vText2
Return

GuiSave:
    Gui, 1:Submit,NoHide
return

DropDownList: 
Gui, 1:Submit,NoHide
if (dropdownlist1 = "Option1") && (dropdownlist2 = "Color1")
{
    MsgBox, A flower said to a be: %text1%. The bee replied %text2%
    Gui 1: hide
}
else if (dropdownlist1 = "Option1") && (dropdownlist2 = "Color2")
{    
    MsgBox, You picked %text1% and %text2%
    Gui 1: hide 
}
else if (dropdownlist1 = "Option2") && (dropdownlist2 = "Color1")
{    
    MsgBox, A girl said %text1% when you picked %text2%
    Gui 1: hide 
}
else if (dropdownlist1 = "Option2") && (dropdownlist2 = "Color2")
{    
    MsgBox, Blabla %text1% blabla %text2%
    Gui 1: hide 
}
return

#j::
Gui 1: show,, DropDownGui
return