Hi Leute,
hab schon wieder ein Problem bezüglich einer ListView. Ich versuche über einen FileOpenDialog() ein Element in eine ListView hinzuzufügen, dafür gibt es ja die Funktion
[autoit]_GUICtrlListView_InsertItem
[/autoit]
bzw.
_GUICtrlListView_AddItem
[/autoit]Allerdings wird kein Item hinzugefügt, der FileOpenDialog liefert auch den richtigen Pfad zurück, als theoretisch hätte ich was zum eingeben.
Hier mal der ganze Code:
[autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#Region ### START Koda GUI section ### Form=e:\programme\autoit3\projecte\packer\packer_form.kxf
$Form1_1 = GUICreate("Packer", 359, 298, 323, 205)
$Group1 = GUICtrlCreateGroup("Ausgewählte Dateien", 16, 24, 329, 185)
$ListView1 = GUICtrlCreateListView("", 24, 40, 313, 161)
GUICtrlSetCursor (-1, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Label1 = GUICtrlCreateLabel("Ordner:", 16, 216, 39, 17, $WS_BORDER)
$Button1 = GUICtrlCreateButton("... Durchsuchen", 64, 216, 281, 17)
$Button2 = GUICtrlCreateButton("Packen", 16, 256, 329, 33, BitOR($BS_CENTER,$WS_BORDER))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Func GetFileName($Path)
$ret = StringSplit($Path,"\",2)
If IsArray($ret) Then
Return $ret[UBound($ret)-1]
EndIf
If @error Then Return -1
EndFunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$InputFile = CompGetFileName(FileOpenDialog("Gepackte Dateien speichern...", "Bibliotheken\Dokumente", "Alle Dateien (*.*)|WinRAR-Archive (*.rar)"))
WinWaitClose("Gepackte Dateien speichern...")
_GUICtrlListView_AddItem($ListView1, $InputFile)
_GUICtrlListView_InsertItem($ListView1, $InputFile, 0)
Case $Button2
If _GUICtrlListView_GetItemCount($ListView1) = 0 Then
MsgBox(64, "Fehlende Dateien!", "Bitte zuerst Dateien der Liste hinzufügen!")
EndIf
EndSwitch
WEnd