Hallo!
Ich habe da Problem, dass nach einem "CreateDirectory"-Befehl das neu erstellte Verzeichnis nicht automatisch im ExplorerTreeGadget angezeigt wird. Wie kann ich dieses Gadget "refreshen", dass wieder alle Verzeichnisse angezeigt werden?
--
Gruß, Callo.
ExplorerTreeGadget refreshen
nicolaus: Mit #PB_EventType_Change bekommt man nur mit, ob sich was auf deinem Fenster ändert.
Calloway: Probiere mal UpdateWindow_(WindowID(%Fensternummer%)). Trag da einfach die Fensternummer ein. Wenn das nicht funktioniert: Trick17**.
Trick17**:
1) Versuche den "Ast" der gerade geöffnet ist, einmal zu schließen und dann wieder zu öffnen. Dabei müssten die Verzeichnisse neu geladen werden.
2) Bau das ExplorerGadget mit einem TreeGadget nach. Das TreeGadget kannst du dann regelmäßig im Hintergrund mit neuen Verzeichnisdaten füttern.
3) Lösche das ExplorerGadget im laufenden Betrieb und erstelle sofort ein Neues. Sorg dafür, dass das neue Gadget auch gleich die aktuellen Verzeichnisdaten bekommt.
Greetz Laurin
Calloway: Probiere mal UpdateWindow_(WindowID(%Fensternummer%)). Trag da einfach die Fensternummer ein. Wenn das nicht funktioniert: Trick17**.
Trick17**:
1) Versuche den "Ast" der gerade geöffnet ist, einmal zu schließen und dann wieder zu öffnen. Dabei müssten die Verzeichnisse neu geladen werden.
2) Bau das ExplorerGadget mit einem TreeGadget nach. Das TreeGadget kannst du dann regelmäßig im Hintergrund mit neuen Verzeichnisdaten füttern.
3) Lösche das ExplorerGadget im laufenden Betrieb und erstelle sofort ein Neues. Sorg dafür, dass das neue Gadget auch gleich die aktuellen Verzeichnisdaten bekommt.
Greetz Laurin
Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
Das war das erste, was ich getan hatte, aber es funktionierte nicht. Ich wefde mal Trick 17 ausprobieren. Wenn jemand noch einen Trick 18 auf Lager hat, dann her damit.Laurin hat geschrieben: 1) Versuche den "Ast" der gerade geöffnet ist, einmal zu schließen und dann wieder zu öffnen. Dabei müssten die Verzeichnisse neu geladen werden.

Dennoch vielen Dank an Euch für die Hilfestellung...
--
Gruß, Callo.
Der praktikabelste Weg dürfte darin bestehen, das ExplorerTreeGadget mit SetGadgetText() in der Form
SetGadgetText(#ExplorerTree, GetGadgetText(#ExplorerTree) + "*.*")
aufzurufen.
Hier ist ein Code-Beispiel:
Gruß,
Shardik
SetGadgetText(#ExplorerTree, GetGadgetText(#ExplorerTree) + "*.*")
aufzurufen.
Hier ist ein Code-Beispiel:
Code: Alles auswählen
; Refresh ExplorerTreeGadget
OpenWindow(1, 0, 0, 290, 300, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Demo für Refresh des ExplorerTreeGadget")
CreateGadgetList(WindowID(1))
ExplorerTreeGadget(1, 10, 10, 270, 230, "C:\")
ButtonGadget(2, 40, 250, 200, 40, "Neues Verzeichnis 'C:\Test' anlegen und in Verzeichnisstruktur einblenden", #PB_Button_MultiLine | #PB_Button_Default)
If ExamineDirectory(1, "C:\Test", "") <> 0
DisableGadget(2, #True)
EndIf
Repeat
WindowEventID = WaitWindowEvent()
If WindowEventID = #PB_Event_Gadget And EventGadgetID() = 2
CreateDirectory("C:\Test")
SetGadgetText(1, GetGadgetText(1) + "*.*")
DisableGadget(2, #True)
EndIf
Until WindowEventID = #PB_Event_CloseWindow
Shardik