Fügt ein Item aus einem Array dem Control hinzu
#include <GuiListView.au3>
_GUICtrlListView_AddArray($hWnd, ByRef $aItems)
| $hWnd | Control-ID / Handle des Controls |
| $aItems | Array in folgendem Format: [0][0] - Item 1 Text [0][1] - Item 1 Subitem 1 Text [0][2] - Item 1 Subitem 2 Text [0][n] - Item 1 Subitem n Text [1][0] - Item 2 Text [1][1] - Item 2 Subitem 1 Text [1][2] - Item 2 Subitem 2 Text [1][n] - Item 2 Subitem n Text |
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
$Debug_LV = False ; Prüft den Klassennamen (ClassName), der an die ListView-Funktion übergeben wird. Setze dies versuchsweise auf True und verwende dann ein Handle zu einem anderen Control, um die Funktionsweise zu verstehen.
_Main()
Func _Main()
Local $iI, $iTimer, $hListView
; Erstellt eine GUI
GUICreate("ListView: Fügt ein Item aus einem Array hinzu", 500, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUISetState()
; Fügt eine Spalte hinzu
_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)
; 1. Spalte wird befüllt
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, "Information", "Füllzeit: " & TimerDiff($iTimer) / 1000 & " Sekunden")
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($hListView)) ; Items die mit UDF Funktionen hinzugefügt wurden können auch mit UDF Funktionen wieder gelöscht werden
; 4. Spalte wird befüllt
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, "Information", "Füllzeit: " & TimerDiff($iTimer) / 1000 & " Sekunden")
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main