如何获取一个 Listbox 的行数和默认让它选择第一行
我向一个 Listbox 里写入了很多行内容,但不知道怎么获取总共写入了多少行,还有怎么让它默认就选择第一行;看帮助没有这种函数,只有对控件的GuictrlRead 之类。。。 回复 1# 不死帝国你看到只是基本的帮助,还有“俗称为” UDF,功能更强大的“用户自定义函数”。
以下函数可以便捷实现你的目的。
_GUICtrlListBox_SetSel
_GUICtrlListBox_GetCount 帮助里面找controlcommand看看呢 谢谢大家;因为我看了又看帮助根本没有找着有关选择和获取Listbox的函数;UDF应该是自定义函数吧;又好像没有中文的帮助文档。。。 回复 2# user3000
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Administrator\Desktop\Form1.kxf
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Input1 = GUICtrlCreateInput("", 64, 40, 337, 21)
$Button1 = GUICtrlCreateButton("...", 408, 40, 43, 21)
$Button2 = GUICtrlCreateButton("test", 488, 40, 75, 21)
$Button3 = GUICtrlCreateButton("返回", 488, 65, 75, 21)
$Progress1 = GUICtrlCreateProgress(64, 72, 390, 17)
$List1 = GUICtrlCreateList("", 64, 104, 550, 321)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetData($Input1,FileSelectFolder("选择一个文件夹",""))
Case $Button2
If StringMid(GUICtrlRead($Input1),2,2) <> ":\" Then
MsgBox(0,"提示","路径错误。")
Else
GUICtrlSetData($List1,"")
callback(GUICtrlRead($Input1))
_GUICtrlListBox_SetSel($List1,1) ;为什么这样不能让Listbox默认选择第一条
EndIf
Case $Button3
MsgBox(0,"",_GUICtrlListBox_GetCount($List1))
EndSwitch
WEnd
;搜索指定目录下的所有文件与文件夹,不包括子目录
Func callback($path)
Local $HWND = FileFindFirstFile($path & "\*.*")
If $HWND = -1 Then Exit
While 1
Local $sFile = FileFindNextFile($HWND)
If @error Then ExitLoop
GUICtrlSetData($List1,$path & "\" & $sFile)
WEnd
EndFunc
为什么这样不能让 Listbox 选择第一条 本帖最后由 kevinch 于 2014-1-16 17:23 编辑
细看了一下,确实没有获取数量的,不过数据都是你写入的,这个是可以用变量记录数量的
设置选择的倒是有,你肯定没注意到:
ControlCommand("","",$List1,"SetCurrentSelection",0);通过指定出现次序(从0开始,0 代表第一个)把 ListBox 或 ComboBox 的当前选择项设为指定的项目
ControlCommand("","",$List1,"SelectString", '字符串');通过指定字符串把 ListBox 或 ComboBox 的当前选择项设为匹配字符串的项目 本帖最后由 netegg 于 2014-1-25 15:55 编辑
#include <GuiListBox.au3>
_GUICtrlListBox_GetCount
获取数量
_GUICtrlListBox_SetCurSel($hWnd, $iIndex)
设置该索引项目为当前选定项
页:
[1]