【已解决】关于GUICtrlSetData下拉数据累加的问题?
本帖最后由 caicaicaicaijj 于 2010-4-28 23:14 编辑如下例子:
当点击框一下拉选项里其中a项,框二的下拉列表就对应显示1234
如果我再次点击框一选b,框二里原来的数据不被清空,会累加上去
如何清除上次的选择结果,保证每次选择框一时,在框二的下拉都只显示对应的数据?
#include <GuiConstantsEx.au3>
GUICreate("",490,300)
$k1=GUICtrlCreateCombo("",30,50,100,30);框一
GUICtrlSetData($k1,"a|b","");
$k2=GUICtrlCreateCombo("",150,50,100,30);框二
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg =$k1;点击框一时
$r1=GUICtrlRead($k1);读框一的数据
If $r1="a" Then;如果是‘a’,生成框二的下拉1、2、3、4
gUICtrlSetData($k2,"1|2|3|4","")
ElseIf $r1="b" Then;如果是‘b’,生成框二的下拉5、6、7、8
gUICtrlSetData($k2,"5|6|7|8","")
Else
EndIf
EndSelect
WEnd 想不通为什么会累积上次的数据,是不是条件句没用对? #include <GuiConstantsEx.au3>
GUICreate("",490,300)
$k1=GUICtrlCreateCombo("",30,50,100,30);框一
GUICtrlSetData($k1,"a|b","");
$k2=GUICtrlCreateCombo("",150,50,100,30);框二
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
Case $msg =$k1;点击框一时
$r1=GUICtrlRead($k1);读框一的数据
If $r1="a" Then;如果是‘a’,生成框二的下拉1、2、3、4
gUICtrlSetData($k2,"")
gUICtrlSetData($k2,"1|2|3|4","")
ElseIf $r1="b" Then;如果是‘b’,生成框二的下拉5、6、7、8
gUICtrlSetData($k2,"")
gUICtrlSetData($k2,"5|6|7|8","")
Else
EndIf
EndSelect
WEnd 呵呵,万分感谢,首先生成空,再生成数据
我怎么就想不到呢!
页:
[1]