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

[GUI管理] GUICtrlCreateList表能不能显示两个相同的值?【已解决】

  [复制链接]
发表于 2011-12-13 20:39:57 | 显示全部楼层 |阅读模式
本帖最后由 gzh888666 于 2011-12-13 21:06 编辑

GUICtrlCreateList表能不能显示两个相同的值?
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>

$Form1 = GUICreate("Form1", 362, 269, 262, 158)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 21)
$List1 = GUICtrlCreateList("", 160, 0, 193, 253)
GUICtrlSetData($List1, "12erwer23")
GUICtrlSetData($List1, "12erwer23");如果存在相同就不能显示了
GUICtrlSetData($List1, "12erwer23423112312312312")
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
发表于 2011-12-13 20:47:50 | 显示全部楼层
#include <GuiListBox.au3>

$Form1 = GUICreate("Form1", 362, 269, 262, 158)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 21)
$List1 = GUICtrlCreateList("", 160, 0, 193, 253)
_GUICtrlListBox_AddString($List1, "12erwer23")
_GUICtrlListBox_AddString($List1, "12erwer23");如果存在相同就不能显示了
_GUICtrlListBox_AddString($List1, "12erwer23423112312312312")
GUISetState()

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case -3
                        Exit

        EndSwitch
WEnd

评分

参与人数 1金钱 +20 收起 理由
gzh888666 + 20 哦!现在明白了,-1看来不是随便用的!感谢 ...

查看全部评分

发表于 2011-12-13 21:03:47 | 显示全部楼层
回复 1# gzh888666

凡是跟样式相关的,都可以直接给控件发消息,而不是仅仅在定义控件时定义样式

#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
#include <GUIListView.au3>

Global Const $STN_DBLCLK = 2

$Form1 = GUICreate("Form1", 362, 269, 262, 158)
$Input1 = GUICtrlCreateInput("Input1", 8, 8, 137, 21)
$List1 = GUICtrlCreateList("", 160, 0, 193, 253, $WS_VSCROLL)

GUICtrlSetData($List1, "12erwer23")
GUICtrlSendMsg($List1, $LB_ADDSTRING, 0, "12erwer23");如果存在相同就不能显示了
GUICtrlSetData($List1, "12erwer23423112312312312")
GUISetState(@SW_SHOW)
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd

评分

参与人数 1金钱 +20 贡献 +11 收起 理由
gzh888666 + 20 + 11 学习了!有收获!

查看全部评分

发表于 2011-12-13 21:09:40 | 显示全部楼层
回复 3# happytc


   另外,你这样赋值更好!不但效率高,还只有一个语句,还满足你的要求!
GUICtrlSetData($List1, "12erwer23|12erwer23|12erwer23423112312312312")
 楼主| 发表于 2011-12-13 21:16:17 | 显示全部楼层
回复 4# happytc
我在实际使用中for循环写入的。以前很少用到list,见笑了!感觉gui的经验太少了,很多细节都没有深入学习!感谢您和水版的帮助!
发表于 2014-5-15 11:56:25 | 显示全部楼层
雷锋精神传天下!谢谢分享!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 19:25 , Processed in 0.078987 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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