找回密码
 加入
搜索
查看: 2932|回复: 5

[GUI管理] [已解决]请教如何删除组合框中原有的值?

  [复制链接]
发表于 2012-6-16 20:53:09 | 显示全部楼层 |阅读模式
本帖最后由 iPAQ 于 2012-6-16 21:14 编辑

使用组合框时发现使用 GUICtrlSetData 更新 组合框值时,值是追加在原来的列表下面,原来的值依然保留了。

例如
原来 Combo1 中有如下数据
11
22
33

执行 GUICtrlSetData($Combo1,"11|33")
就变成
11
22
33
11
33

看了半天帮助也没找到怎么办,请问如何删除原有值?
发表于 2012-6-16 20:58:11 | 显示全部楼层
现在提问怎么都不附完整提问测试代码了?这样很不利于解决。
发表于 2012-6-16 21:02:20 | 显示全部楼层
回复 1# iPAQ
试试

#Include <GuiComboBox.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Form1", 313, 77, 192, 124)
$Combo1 = GUICtrlCreateCombo("select", 32, 16, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
GUICtrlSetData(-1, "1|2|3|4|5|6|7|8|9|10")
$Button1 = GUICtrlCreateButton("删除", 208, 16, 75, 25)
GUICtrlSetOnEvent(-1,'del')
GUISetState(@SW_SHOW)
GUISetOnEvent($GUI_EVENT_CLOSE,'Quit')
While 1
        Sleep(100)
WEnd

Func Quit()
        Exit
EndFunc
Func del()
        If _GUICtrlComboBox_DeleteString($Combo1, 1) = -1 Then MsgBox(0,'','没有可以删除的了')
EndFunc
 楼主| 发表于 2012-6-16 21:03:18 | 显示全部楼层
本帖最后由 iPAQ 于 2012-6-16 21:05 编辑

回复 2# afan


    不好意思,我以为这只是一个很简单的基础问题,可能仅仅是一个参数或命令就能解决的,并不是需要研究程序逻辑是否有问题,如果知道,可能一句话就解决了,如果不知道,有程序也试不出原因来,所以没附带程序。以后注意。
发表于 2012-6-16 21:06:27 | 显示全部楼层
回复  afan


    不好意思,我以为这只是一个很简单的基础问题,可能仅仅是一个参数或命令就能解决的, ...
iPAQ 发表于 2012-6-16 21:03



    回完贴才看到你已经编辑上了关键代码…
前面加个分隔符即可
GUICtrlSetData($Combo1, '|11|33')
 楼主| 发表于 2012-6-16 21:13:13 | 显示全部楼层
本帖最后由 iPAQ 于 2012-6-16 21:22 编辑

非常感谢 虫子樱桃 和 afan 的回复!

谢谢 虫子樱桃 不嫌麻烦写了这么多代码,
不过我这里不用对这个列表框做太多复杂操作,
所以暂时用不上这办法,这个办法先收藏了,留着以后用。

谢谢 afan ,一个符号就解决了问题!
我就说嘛,在高手面前就是一句话的事!
我是看了半天帮助也没找到办法。
帮助要是再详细点就好了。
当然还有以后提问会注意的。

再次谢谢大家!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 07:30 , Processed in 0.081422 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表