Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 27.12.05 18:56 
Hallo!
Ich frage schon wieder etwas! Ich habe ein ShellTreeView und mehrere Buttons für die Laufwerke. Nehmen wir an, ich habe Laufwerk D: im ShellTreeView. Nun doppelklicke ich auf einen Ordnernamen im ShellTreeView, sagen wir, "Inno Setup4", und dann auf "Examples".

Der Ordnername "Examples" wird in einer Variablen gespeichert. Dann wechsle ich das Laufwerk, das ShellTreeView zeigt nun die Ordner dieses anderen Laufwerks. Nun wechsle ich zu D: zurück und möchte, dass das ShellTreeView zum zuvor gesicherten Ordner springt, also dass es "Inno Setup4\Examples" markiert und auch öffnet. Bisher habe ich das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
procedure TForm1.ShellTreeView1DblClick(Sender: TObject);
begin
 OldDir := ShellTreeView1.Selected.Text;  //Ordnernamen sichern
 SetLabel1Caption(Sender);
end;

procedure TForm1.SetLabel1Caption(Sender: TObject);
var
  CurItem: TTreeNode;
begin
 if not (OldDir = ''then
 try
  CurItem := ShellTreeView1.Items.GetFirstNode;
  while CurItem <> nil do
  begin
   CurItem := CurItem.GetNext;
   if CurItem.Text = OldDir then break;  //Wenn der zuvor gesicherte Ordner gefunden ist, abbrechen
  end;
  ShellTreeView1.Selected := CurItem;
 except ; end
//...
end;

Das klappt aber nur, wenn es sich um "Inno Setup4" handelt, bei dem darin enthaltenen Ordner "Examples" klappt es nicht. Anders gesagt: Es werden nur Ordner mit Level 1 gefunden. Ich möchte aber zu jedem Ordner zurückspringen können, egal, wie tief er verschachtelt ist. Mit Items-zählen würde es vielleicht gehen, aber das dauert.

Also - was könnte ich hier besser oder richtig machen?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Di 27.12.05 19:45 
Hallo !
Deinen Pfad bekommst Du doch mit Temp:=ShellTreeView.Path
Und um zurückzukehren ShellTreeView.Root für den direkten Ordner oder ShellTreeView.Path:=Temp
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 27.12.05 21:16 
user profile iconBlackheart666 hat folgendes geschrieben:
Deinen Pfad bekommst Du doch mit Temp:=ShellTreeView.Path
Und um zurückzukehren ShellTreeView.Root für den direkten Ordner oder ShellTreeView.Path:=Temp

Aber das wechselt nicht in den Ordner! Da war doch mal was mit einem Bug oder so... Bin am googlen, habe aber bisher nichts gefunden!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 27.12.05 21:56 
Habe hier etwas gefunden, aber das funktioniert auch nicht. Tatsache ist, dass das Setzen von .Path absolut nichts bewirkt:
www.swissdelphicente...hp/topic,1101.0.html

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 27.12.05 22:03 
user profile icongalagher hat folgendes geschrieben:
Habe hier etwas gefunden, aber das funktioniert auch nicht. Tatsache ist, dass das Setzen von .Path absolut nichts bewirkt:
www.swissdelphicente...hp/topic,1101.0.html

//Edit: Doch - das ist es! Bloss das Scrollen haut nicht hin, aber das krieg ich auch noch!

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Di 27.12.05 23:20 
Also bei Mir scrollt er auch und der letze Ordner wird geöffnet.
Und steht dann in der Mitte von ShellTreeView
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2556
Erhaltene Danke: 45

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mi 28.12.05 18:49 
user profile iconBlackheart666 hat folgendes geschrieben:
Also bei Mir scrollt er auch und der letze Ordner wird geöffnet.

Wenn ein Ordner leer ist, dann, zumindest bei mir, aber nicht...

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!