函数参考


_GUICtrlListView_AddArray

从数组向控件添加项目

#include <GuiListView.au3>
_GUICtrlListView_AddArray($hWnd, ByRef $aItems)

参数

$hWnd 控件的控件ID/句柄
$aItems 下方格式的数组:
[0][0] - 项目 1 文本
[0][1] - 项目 1 子项目 1 文本
[0][2] - 项目 1 子项目 2 文本
[0][n] - 项目 1 子项目 n 文本
[1][0] - 项目 2 文本
[1][1] - 项目 2 子项目 1 文本
[1][2] - 项目 2 子项目 2 文本
[1][n] - 项目 2 子项目 n 文本

返回值

None.

注意/说明

None.

相关

示例/演示


#include <GUIConstantsEx.au3>
#include <GuiListView.au3>

$Debug_LV = False ; 检查传递给 ListView 函数的类名, 设置为真并使用另一控件的句柄可以看出它是否有效

_Main()

Func _Main()
    Local $iI, $iTimer, $hListView

    ; 创建 GUI
    GUICreate("ListView Add Array", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; 添加列
    _GUICtrlListView_AddColumn($hListView, "Items", 100)
    _GUICtrlListView_AddColumn($hListView, "SubItems 1", 100)
    _GUICtrlListView_AddColumn($hListView, "SubItems 2", 100)
    _GUICtrlListView_AddColumn($hListView, "SubItems 3", 100)

    _GUICtrlListView_SetItemCount($hListView, 5000)

    ; 加载一列
    Local $aItems[5000][1]
    For $iI = 0 To UBound($aItems) - 1
        $aItems[$iI][0] = "Item " & $iI
    Next
    $iTimer = TimerInit()
    _GUICtrlListView_AddArray($hListView, $aItems)
    MsgBox(4160, "信息", "Load time: " & TimerDiff($iTimer) / 1000 & " seconds")

    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hListView)) ; 通过 UDF 函数添加的项目也能用 UDF 函数删除

    ; 加载四列
    Dim $aItems[5000][4]
    For $iI = 0 To UBound($aItems) - 1
        $aItems[$iI][0] = "Item " & $iI
        $aItems[$iI][1] = "Item " & $iI & "-1"
        $aItems[$iI][2] = "Item " & $iI & "-2"
        $aItems[$iI][3] = "Item " & $iI & "-3"
    Next
    $iTimer = TimerInit()
    _GUICtrlListView_AddArray($hListView, $aItems)
    MsgBox(4160, "信息", "Load time: " & TimerDiff($iTimer) / 1000 & " seconds")

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main