重新排序列表框.控件需具有 $LBS_SORT 样式.
#include <GuiListBox.au3>
_GUICtrlListBox_Sort($hWnd)
$hWnd | 控件的控件ID/句柄 |
#include <GuiListBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Debug_LB = False ;检查传递给 ListBox 函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作
_Main()
Func _Main()
Local $sText, $hListBox
; 创建 GUI
GUICreate("List Box Sort", 400, 296)
$hListBox = GUICtrlCreateList("", 2, 2, 396, 296, BitOR($WS_BORDER, $WS_VSCROLL, $LBS_NOTIFY, $LBS_MULTIPLESEL, $LBS_SORT))
GUISetState()
; 添加字符串
_GUICtrlListBox_BeginUpdate($hListBox)
For $iI = 1 To 9
$sText = StringFormat("%03d : Random string ", Random(1, 100, 1))
For $iX = 1 To Random(1, 20, 1)
$sText &= Chr(Random(65, 90, 1))
Next
_GUICtrlListBox_AddString($hListBox, $sText)
Next
_GUICtrlListBox_InsertString($hListBox, "This is a test", 0) ; doesn't auto sort when using insert
_GUICtrlListBox_EndUpdate($hListBox)
; Sort'em
MsgBox(4160, "信息", "Sort Data")
_GUICtrlListBox_Sort($hListBox)
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main