关于ShellTreeView的两个问题,delphi自带的控件呀,不过好像很少人知道

amartapple 2005-02-17 01:25:18
年前开了一个帖子问这些问题,不过去的人大多以为这是个第三方控件,这次说详细点,这个控件样子象资源管理器左边的那个显示各个驱动器和文件夹的控件,在delphi的Sample面板下。

有这么两个问题:

1.如何刷新当前选中的节点的上一层节点的内容
比如目录结构这样
第n层
第n+1层1
....
第n+1层n

如果我在资源管理器中在第n+1层中增减了一些文件,现在想通过刷新第n层来反映出这些变化,该如何实现

2.每次在SheelTreeView中打开 我的电脑 都要读一下软驱,而且打开速度比较慢,怎么能让他快点
...全文
205 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2005-02-17
  • 打赏
  • 举报
回复
No.1 ShellTreeView1.Refresh(ShellTreeView1.Selected);
//or
object ShellTreeView1: TShellTreeView
AutoRefresh = True
end

No.2
procedure TCustomShellTreeView.InitNode(NewNode: TTreeNode; ID: PItemIDList; ParentNode: TTreeNode);
//....
begin
//....
if Pos('A:', UpperCase(NewNode.Text)) <= 0 then //<<加上这条语句
if fpShared in Properties then NewNode.OverlayIndex := 0;
if (otNonFolders in ObjectTypes) and (ShellFolder <> nil) then
NewNode.HasChildren := GetHasSubItems(ShellFolder, ObjectFlags(FObjectTypes));
//....
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧