_GUICtrlListView_AddArray
Добавляет пункты из массива в ListView
#include <GuiListView.au3>
_GUICtrlListView_AddArray($hWnd, ByRef $aItems)
Параметры
$hWnd | Дескриптор или идентификатор элемента |
$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 Текст |
Пример
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $iI, $iTimer, $hListView
; Создаёт GUI
GUICreate("ListView - Добавить массив пунктов", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
; Добавляет колонки
_GUICtrlListView_AddColumn($hListView, "Пункты", 90)
_GUICtrlListView_AddColumn($hListView, "Подпункт 1", 100)
_GUICtrlListView_AddColumn($hListView, "Подпункт 2", 100)
_GUICtrlListView_AddColumn($hListView, "Подпункт 3", 100)
_GUICtrlListView_SetItemCount($hListView, 5000)
; Загрузка одной колонки
Local $aItems[5000][1]
For $iI = 0 To UBound($aItems) - 1
$aItems[$iI][0] = "Пункт " & $iI
Next
$iTimer = TimerInit()
_GUICtrlListView_AddArray($hListView, $aItems)
MsgBox(4160, "Информация", "Время загрузки пунктов: " & Round(TimerDiff($iTimer) / 1000, 3) & " секунд")
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hListView)) ; пункты добавленные с помощью функций UDF могут быть удалены используя функции UDF
; Загрузка четырёх колонок
Dim $aItems[5000][4]
For $iI = 0 To UBound($aItems) - 1
$aItems[$iI][0] = "Пункт " & $iI
$aItems[$iI][1] = "Пункт " & $iI & "-1"
$aItems[$iI][2] = "Пункт " & $iI & "-2"
$aItems[$iI][3] = "Пункт " & $iI & "-3"
Next
$iTimer = TimerInit()
_GUICtrlListView_AddArray($hListView, $aItems)
MsgBox(4160, "Информация", "Время загрузки пунктов: " & Round(TimerDiff($iTimer) / 1000, 3) & " секунд")
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main