2017-05-25 1 views
0

Supposons que je sélectionne "Option1" et "Color1". Ensuite, j'écris quelque chose dans la zone de texte libre. Maintenant, quand j'appuie sur OK, je vais faire les tags conditionnels. Comme Option1/color1 est sélectionné, il exécutera une commande sendinput avec:Comportement conditionnel avec dropdownlist et gui textbox dans AHK

blablala% text1% blabla% text2%.

Si je prends cependant « option1 » et « couleur » il fera un SendInput avec

blabla avec sa femme et sa femme text1 alors le chien a fait texte2.

J'ai réussi à faire une partie de ce code. Mon problème est que lorsque je choisis des listes déroulantes, il exécute le script, peu importe ce que j'ai écrit. Je veux qu'il s'exécute en cliquant sur OK et en montrant text1/text2 où je veux le mettre.

#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 

Répondre

1

J'ai réussi une partie de todo de ce code. Mon problème est que lorsque je sélectionne à partir des listes déroulantes, il exécute le script, peu importe ce que j'ai écrit.

C'est parce que vous avez un gosub attaché à votre liste déroulante. C'est ce que le g dans gDropDownList est. Lorsque vous sélectionnez quelque chose, il lance l'étiquette DropDownList.

Vous pouvez supprimer complètement le gDropDownList du champ d'options, ou vous pouvez créer une étiquette qui enregistre vos sélections en cliquant sur un libellé de soumission gui.

Essayez quelque chose comme ceci:

#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