找回密码
 加入
搜索
查看: 2677|回复: 8

关于列表框(ListBox)可容纳字符数过少的问题?

[复制链接]
发表于 2008-10-4 20:26:04 | 显示全部楼层 |阅读模式
有一应用,我想把C:\Documents and Settings\Administrator\「开始」菜单\程序 和 C:\Documents and Settings\All Users\「开始」菜单\程序 两目录下的所有文件 都扫描 ,并且使用列表框(ListBox) 显示出来。但发现在显示时会出现“ Unterminated string 错误”。 检查发现ListBox只能容纳大约2500个字符左右。那我要显示更多的字符?啥办?难道只能清减或使用多个列表框吗?

没法贴代码。


[ 本帖最后由 ququ12345 于 2008-10-4 21:51 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2008-10-4 20:45:09 | 显示全部楼层
为什么要放在一行呢?
发表于 2008-10-4 20:50:37 | 显示全部楼层
那一行真够历害的!1万多的长度!
发表于 2008-10-4 20:53:35 | 显示全部楼层
GUICtrlSetLimit($List1,65535,1)
发表于 2008-10-4 21:36:37 | 显示全部楼层
给一个自动添加楼主所要求目录下的所有快捷方式到LISTVIEW的例子:

#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447)
$List1 = GUICtrlCreateList("", 40, 24, 553, 370)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
RunWait(@ComSpec & ' /c dir "' & @ProgramsDir & '"\*.* /a /s /b>dir.log')
For $i = 1 To 65535
        $string = FileReadLine("dir.log", $i)
        If @error Then ExitLoop
        $strings = StringRegExp($string, '.+\.lnk',1)
        If @error = 0 Then GUICtrlSetData($List1, $string)
Next
RunWait(@ComSpec & ' /c dir "' & @ProgramsCommonDir & '"\*.* /a /s /b>dir.log')
For $i = 1 To 65535
        $string = FileReadLine("dir.log", $i)
        If @error Then ExitLoop
        $strings = StringRegExp($string, '.+\.lnk',1)
        If @error = 0 Then GUICtrlSetData($List1, $string)
Next
FileDelete("dir.log")

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd


[ 本帖最后由 liongodmien 于 2008-10-4 21:37 编辑 ]
发表于 2008-10-4 21:42:37 | 显示全部楼层
原帖由 ququ12345 于 2008-10-4 21:40 发表
那行有200多项目,已经用“|”分开。表示成一行而己。

呵呵,你的那个我也看过,我可不知道有200多个项目,不过却是有几个“|”是没加的!
 楼主| 发表于 2008-10-4 21:49:00 | 显示全部楼层
原帖由 liongodmien 于 2008-10-4 21:36 发表
给一个自动添加楼主所要求目录下的所有快捷方式到LISTVIEW的例子:
[au3]
#include
#include
#include

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447)
$ ...



感谢兄弟。我了解我错在哪了。解决我大问题了。谢谢哈。^_^
 楼主| 发表于 2008-10-4 21:51:33 | 显示全部楼层
原帖由 liongodmien 于 2008-10-4 21:42 发表

呵呵,你的那个我也看过,我可不知道有200多个项目,不过却是有几个“|”是没加的!


我直接COPY生成的。可能就有几个没有。呵。再谢。我再试试。
看一下动态加项目是不是可以近似无限。
 楼主| 发表于 2008-10-4 21:53:12 | 显示全部楼层
原帖由 liongodmien 于 2008-10-4 20:53 发表
GUICtrlSetLimit($List1,65535,1)



设置某些控件的字符数或象素数限制。
GUICtrlSetLimit ( 控件ID, 最大值 [, 最小值] )
对于 List 控件,此值表示能水平滚动的最大长度(以象素为单位)。
对于 Input/Edit 控件,此值表示最多能输入的字符数。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-29 00:36 , Processed in 0.078454 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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