ququ12345 发表于 2008-10-4 20:26:04

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

有一应用,我想把C:\Documents and Settings\Administrator\「开始」菜单\程序 和 C:\Documents and Settings\All Users\「开始」菜单\程序 两目录下的所有文件 都扫描 ,并且使用列表框(ListBox) 显示出来。但发现在显示时会出现“ Unterminated string 错误”。 检查发现ListBox只能容纳大约2500个字符左右。那我要显示更多的字符?啥办?难道只能清减或使用多个列表框吗?

没法贴代码。


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

pcbar 发表于 2008-10-4 20:45:09

为什么要放在一行呢?

liongodmien 发表于 2008-10-4 20:50:37

那一行真够历害的!1万多的长度!

liongodmien 发表于 2008-10-4 20:53:35

GUICtrlSetLimit($List1,65535,1)

liongodmien 发表于 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 编辑 ]

liongodmien 发表于 2008-10-4 21:42:37

原帖由 ququ12345 于 2008-10-4 21:40 发表 http://www.autoitx.com/images/common/back.gif
那行有200多项目,已经用“|”分开。表示成一行而己。
呵呵,你的那个我也看过,我可不知道有200多个项目,不过却是有几个“|”是没加的!

ququ12345 发表于 2008-10-4 21:49:00

原帖由 liongodmien 于 2008-10-4 21:36 发表 http://www.autoitx.com/images/common/back.gif
给一个自动添加楼主所要求目录下的所有快捷方式到LISTVIEW的例子:

#include
#include
#include

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


感谢兄弟。我了解我错在哪了。解决我大问题了。谢谢哈。^_^

ququ12345 发表于 2008-10-4 21:51:33

原帖由 liongodmien 于 2008-10-4 21:42 发表 http://www.autoitx.com/images/common/back.gif

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

我直接COPY生成的。可能就有几个没有。呵。再谢。我再试试。
看一下动态加项目是不是可以近似无限。

ququ12345 发表于 2008-10-4 21:53:12

原帖由 liongodmien 于 2008-10-4 20:53 发表 http://www.autoitx.com/images/common/back.gif
GUICtrlSetLimit($List1,65535,1)


设置某些控件的字符数或象素数限制。
GUICtrlSetLimit ( 控件ID, 最大值 [, 最小值] )
对于 List 控件,此值表示能水平滚动的最大长度(以象素为单位)。
对于 Input/Edit 控件,此值表示最多能输入的字符数。
页: [1]
查看完整版本: 关于列表框(ListBox)可容纳字符数过少的问题?