Zitat von
angos:
Hi,
ja das ist möglich in dem du das Event von oben noch ein bisschen änderst. Folgender Code lässt das expanden nur bei dem ersten Node zu
Delphi-Quellcode:
procedure TForm1.TreeViewExpanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if Node = TreeView.Items[0] then
AllowExpansion := True
else
AllowExpansion := False;
end;
Hallo,
genau das gleiche machte mein Code übrigens auch.
Zitat von
fuknersascha:
Und wenn ein weiterer Node zugelassen werden soll
bei mir ist es z.b. so C:\Dokumente und Einstellungen\Ordner1\Ordner2\
Delphi-Quellcode:
procedure TForm1.ShellTreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
var
i: integer;
begin
for i := 0 to TShellTreeView(Sender).Items.Count - 1 do
if TShellTreeView(Sender).Items.Item[i]= Node then
if TShellTreeView(Sender).Folders[i].PathName= 'C:\Dokumente und Einstellungen\Ordner1\Ordner2' then
exit;
AllowExpansion:= Node= TShellTreeView(Sender).Items.Item[0];
end;
Jetzt werden vom ersten Ordner die Unterordner angezeigt und gegeben falls auch vom Ordner 'C:\Dokumente und Einstellungen\Ordner1\Ordner2'. Eventuell muss man noch die Groß- und Kleinschreibung des Pfades beachten. Kann natürlich sein, dass es da noch was besseres gibt.
EDIT: habe jetzt doch noch eine einfachere Möglichkeit gefunden:
Delphi-Quellcode:
procedure TForm1.ShellTreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
begin
if TShellTreeView(Sender).Folders[Node.AbsoluteIndex].PathName <> 'C:\Dokumente und Einstellungen\Ordner1\Ordner2' then
AllowExpansion:= Node= TShellTreeView(Sender).Items.Item[0];
end;