Treeview Problem
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
PebenderBetreff: Treeview Problem |
So, Aug 20, 2017 17:17 Antworten mit Zitat |
|
---|---|---|
Hallo,
ich bin dabei mit dem Treeview zu experimentieren. Folgender Code: Code: [AUSKLAPPEN] Import MaxGui.Drivers
SuperStrict Local MyWindow:TGadget=CreateWindow("TreeView-Beispiel", 40,40,400,400) Global MyTreeView:TGadget=CreateTreeView(5,0,200,330,MyWindow) Global Parent:TGadget=TreeViewRoot(MyTreeView) Local IconStrip:TIconStrip=LoadIconStrip("toolbar.bmp") SetGadgetIconStrip(TreeViewRoot(MyTreeView), IconStrip) EnumFiles(BlitzMaxPath(),MyTreeView) Repeat WaitEvent() Select EventID() Case EVENT_WINDOWCLOSE End Case EVENT_GADGETACTION Local Node:TGadget = SelectedTreeViewNode(MyTreeView) Local s:String=String(Node.Context) If s>"" EnumFiles(s,node) node.context="" EndIf ExpandTreeViewNode(node) End Select Forever End Function EnumFiles:Int(Dir:String, Parent:TGadget) Local Folder:Int=ReadDir(Dir) Local File:String Local FullPath:String Repeat File=NextFile(Folder) If File=".." Or File="." Or File=Null Then 'Do Nothing Else fullPath = RealPath(Dir+"/"+file) If FileType(FullPath)=FILETYPE_DIR Then Local handle:TGadget=AddTreeViewNode(file,TreeViewRoot(MyTreeView),1) handle.context=FullPath Else AddTreeViewNode(file,TreeViewRoot(MyTreeView),0) EndIf EndIf Until File=Null End Function So wird das Treeview angezeigt usw und so sofort. Aber statt ein Verzeichnis auszuklappen, hängt er den Inhalt, der im Verzeichnis steht ganz unten an. Aber warum ?? |
||
BMax & MaxGUI |
CO2ehemals "SirMO" |
So, Aug 20, 2017 17:52 Antworten mit Zitat |
|
---|---|---|
In der Funktion EnumFiles fügst Du die Nodes immer zum Root hinzu, siehe BlitzMax: [AUSKLAPPEN] AddTreeViewNode(file,TreeViewRoot(MyTreeView),1) und BlitzMax: [AUSKLAPPEN] AddTreeViewNode(file,TreeViewRoot(MyTreeView),0) Da müsste stattdessen Parent stehen (der Parameter, der in der Funktion übergeben wird).
Beim initialen Aufruf BlitzMax: [AUSKLAPPEN] EnumFiles(BlitzMaxPath(),MyTreeView)Gibst Du dann als zweiten Parameter statt MyTreeView TreeViewRoot(MyTreeView) an und schon funktioniert es. BlitzMax: [AUSKLAPPEN] Import MaxGui.Drivers |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Pebender |
So, Aug 20, 2017 18:05 Antworten mit Zitat |
|
---|---|---|
Vielen Dank,
das ist aus den Tutorial von Assari, bzw der Übersetzung von Simon Geisseler. Bin halt nicht der Programmierer, muss immer wieder von vorn anfangen . mfg |
||
BMax & MaxGUI |
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group