Hallo zusammen
Ich bin blutiger, aber begeisterter Anfänger in Sachen AutoIt.
Nun will ich ein "Nachschlagewerk" erstellen, in dem das Menu aus einer Baumstruktur besteht, welche dynamisch erstellt wird. Soweit habe ich's auch schon geschafft. Die einzelnen "TreeViewItems" sollen jetzt aber natürlich auch angesprochen werden. D.h.: wenn ich darauf klicke, sollte der Inhalt der Dateien in einer Editbox ($book) angezeigt werden.
Den Quellcode habe ich hier:
C
#include <GUIConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <String.au3>
Dim $arrayt[1]
Dim $texte1[1000]
GUICreate ("GUI-Programmierung", 800,550,20,20)
$book = GUICtrlCreateEdit("",220,10,570,490)
GUICtrlSetBkColor($book, 0xffffff)
GUICtrlSetColor($book, 0x0000ee)
;Menu
$menu = GUICtrlCreateTreeView(10,10,200,530)
$intro = GUICtrlCreateTreeViewItem("Einführung",$menu)
;guifunct
$funct = GUICtrlCreateTreeViewItem("Funktionen",$menu)
$guifunct = GUICtrlCreateTreeViewItem("GUI Funktionen",$menu)
;Hier werden die Listeneinträge dynamisch anhand des Ordners "files\guifunctions" geschrieben
$search = FileFindFirstFile("files\guifunctions\*")
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIf
While 1
$texte = FileFindNextFile($search)
If @error Then ExitLoop
$texte = StringReplace($texte,".txt","")
_ArrayAdd($arrayt,$texte)
_ArraySort($arrayt,0)
WEnd
FileClose($search)
For $i = 1 To UBound($arrayt)-1
GUICtrlCreateTreeViewItem($arrayt[$i],$guifunct)
Next
GUICtrlSetData($book,$arrayt[1])
;Zusätzliche Buttons
$editor = GUICtrlCreateButton("ScIte",220,510)
$save = GUICtrlCreateButton("Save",270,510)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
$inhalt = GUICtrlRead($book)
$gf = GUICtrlRead($menu)
If $msg <> 0 Then
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $intro
$path = "files/intro.txt"
$window = FileRead($path)
GUICtrlSetData($book,$window)
FileClose($window)
;hier versuche ich, die Listeneinträge anzusprechen
Case $msg = $gf
$path = "files/guifunctions/$gf"&".txt"
$window = FileRead($path)
GUICtrlSetData($book,$window)
FileClose($window)
;hier endet der Versuch
Case $msg = $editor
Run("C:\Programme\AutoIt3\SciTE\SciTE.exe")
Case $msg = $save
$file = FileOpen($path,2)
FileWrite($file, $inhalt)
FileClose($file)
EndSelect
EndIf
Wend
Alles anzeigen
Ich habe schon Stunden aufgewendet und bin auf keinen grünen Zweig gekommen.
Vielen Dank schon im Voraus für eine hilfreiche Antwort.