![]() |
ShellTreeView - Ordner selektieren
Hallo Forum :cheer: (Ich wollte mal irgend ein sinnfreies Smilie benutzen :))
Ich habe auf einem Formular ein ShellTreeView und möchte gerne einen Ordner beim Forum load selektieren / auswählen / markieren, quasi voreinstellen. Diese beiden Sachen funktionieren schonmal nicht: (Bei Root ist mir das auch klar)
Delphi-Quellcode:
Das komische ist, wenn ich in den Pfad folgendes reinschreibe und mir mit nem MessaDlg ausgebe, steht da immer noch der "Standartpfad" drinne, nämlich der Desktop ...
ShellTreeView1.Path
ShellTreeView1.Root
Delphi-Quellcode:
Ergebnis des MessageDlgs -> 'C:\xyz\etc\pp\Desktop'
strvDirectory.Path := 'C:\Windows';
MessageDlg(strvDirectory.Path,mtInformation,mbOKCancel,0); Jemand ne Idee? |
Re: ShellTreeView - Ordner selektieren
Bei mir funktioniert das ohne Probleme, und wenn ich das ShellTreeView danach auch noch als aktives Control setzte, sieht man die Markierung sogar.
Delphi-Quellcode:
ShellTreeView1.Path := 'C:\Windows';
ShowMessage(ShellTreeView1.Path); ActiveControl := ShellTreeView1; |
Re: ShellTreeView - Ordner selektieren
vielleicht so
Delphi-Quellcode:
Path := IncludeTrailingPathDelimiter(Root) + //name vom ordner
ShellTreeView1.SetFocus; |
Re: ShellTreeView - Ordner selektieren
Mit dem ActiveControl war das schonmal nicht schlecht, jetzt markiert er immerhin schonmal etwas - ebend den Desktop ... Aber wie gesagt, obwohl ich den Pfad da reinschreibe, ist immer noch der Standartpfad drin ... :gruebel:
@fuknersascha: Ne geht auch nicht :mrgreen: Du meinst doch quasi so:
Delphi-Quellcode:
Path := IncludeTrailingPathDelimiter(Root) + '\pics';
|
Re: ShellTreeView - Ordner selektieren
ja wenn der ordner in dem Root enthalten ist und das setfocus nicht vergessen sonst wird nichts makiert
|
Re: ShellTreeView - Ordner selektieren
Bei
Zitat:
|
Re: ShellTreeView - Ordner selektieren
Da bekomme ich dann folgenden Error:
Zitat:
Delphi-Quellcode:
Path := IncludeTrailingPathDelimiter(Root) + 'Testdesktopordner';
strvDirectory.SetFocus; |
Re: ShellTreeView - Ordner selektieren
Dann setz deine shelltreeView auf den Pfad in dem der Ordner 'Testdesktopordner' drin ist
Delphi-Quellcode:
Gruß Sascha
pfad:= {Pfad zu dem Ordner} +'Testdesktopordner';
SchellTreeview1.Root:= pfad |
Re: ShellTreeView - Ordner selektieren
Liste der Anhänge anzeigen (Anzahl: 1)
Was genau tut Root bei dir @ fuknersascha? Root setzt bei mir nur das "Hauptverzeichnis" um - was ich ja nicht möchte.
Ich möchte folgendes: Beim load des Formulars soll er im ShellTreeView den Ordner selektieren in dem momentan das Projekt drin steht. Also z.B.: 'C:\Programme\Borland\Projekte\Memory' <- an den Pfad hänge ich dann noch ein '\pics' dran, damit er den gesamten Pfad zu den Bildern hat. Dieser, dann komplette Pfad, soll er markieren / selektieren. Ich benutze Delphi6 - du ja anscheinend 2007 - liegt es vielleicht da dran, also das wir nicht auf einen Nenner kommen? Ich habe mal in nem kleinen Screenshot beispielsweise verdeutlicht was ich haben möchte. Schonmal danke für eure Hilfe (auch beim letzten Thread!) :dp: |
Re: ShellTreeView - Ordner selektieren
vielleicht so
Delphi-Quellcode:
pfad:= ExtractFilePath(ParamStr(0)) + 'pics';
strvDirectory.Root:= pfad Path := IncludeTrailingPathDelimiter(Root) + 'pics'; strvDirectory.SetFocus; |
Re: ShellTreeView - Ordner selektieren
Kann es sein das bei Root noch der Name des ShellTreeViews vorkommt? Sprich:
Delphi-Quellcode:
Wenn ich es nämlich so machen würde, wie du es geschrieben hattest würde ich wieder den folgenden Fehler bekommen:
pfad:= ExtractFilePath(ParamStr(0)) + 'pics';
strvDirectory.Root:= pfad Path := IncludeTrailingPathDelimiter([b]ShellTreeView.Root[/b]) + 'pics'; strvDirectory.SetFocus; Zitat:
Zitat:
|
Re: ShellTreeView - Ordner selektieren
Hallo,
vielleicht so: ShellTreeView1.Path := IncludeTrailingPathDelimiter(Dein_Verzeichnis); ShellTreeView1.Selected.MakeVisible; mfg Herbert |
Re: ShellTreeView - Ordner selektieren
Klappt auch nicht ... Er überschreibt den Path ja auch nicht, d.h. es steht immer noch der Pfad zum Desktop drin.
Ich habe jetzt einfach mal versucht nen Ordner aufem Desktop zu selektieren, was aber auch nicht klappt. :wall: Werd mal noch nen bischen rumprobieren ... :coder2: |
Re: ShellTreeView - Ordner selektieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
schau mal bitte, ob das angehängte funktioniert. Einfach auf Button1 klicken, danach wird das, was im Edit oben steht, ausgewählt (zu Testzwecken mit C:\Windows vorbelegt) und zu guter letzt kommt eine Messagebox mit dem ShellTreeView.Path. |
Re: ShellTreeView - Ordner selektieren
ja klappt :)
€: aber ist es gewollt das dateien nicht angezeigt werden ? (dadurch kann man manche ordner expanden in denen "nix" ausser dateien drinne ist (die ja ausgeblendet werden) mfg smallsmoker |
Re: ShellTreeView - Ordner selektieren
Zitat:
Darf man fragen, wie du das nun bewerkstelligt hast? |
Re: ShellTreeView - Ordner selektieren
Im Endeffekt ist es nur das:
Delphi-Quellcode:
stv ist hierbei ein TShellTreeView.
stv.Path := edit1.Text;
stv.SetFocus; ShowMessage(stv.Path); |
AW: ShellTreeView - Ordner selektieren
Ich habe eine Zusatzfrage.
Wenn man ein Berzeichnis angibt, kann es sein das das ausgewählte Verzeichnis nicht in dem sichbare Bereich angzeigt wird. Wie lässt sich das Verzeichnis anzeigen. Ich habe mit
Delphi-Quellcode:
gemacht, gibt es eine bessere Möglichkeit?
ShellTreeView.AlphaSort(False)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz