Если в выделенной директории уже существуют поддиректории (подпапки), то для обновления родительской директории достаточно кода
procedure TForm1.Button1Click(Sender: TObject);
begin
MkDir(ShellTreeView1.Path+Edit1.Text);
ShellTreeView1.Refresh(ShellTreeView1.Selected);//Интересующий нас код
end;
Но если в выделенной родительской директории нет поддиректорий (подпапок) код придётся усложнить:
procedure TForm1.Button1Click(Sender: TObject);
var memtree:TTreeNode;
begin
MkDir(ShellTreeView1.Path+Edit1.Text);
ShellTreeView1.Refresh(ShellTreeView1.Selected);
memtree:=ShellTreeView1.Selected;
if ShellTreeView1.Selected.Count=0 then
begin
ShellTreeView1.Refresh(ShellTreeView1.Selected.Parent);
ShellTreeView1.Refresh(memtree);
end;
end;
Для обновления родительской директории, при удалении поддиректорий используется следующий код:
Uses FileUtil;
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteDirectory(ShellTreeView1.Path,False);//требует FileUtil
ShellTreeView1.Refresh(ShellTreeView1.Selected.Parent);//Интересующий нас код
end;
|