TreeView1现在目录显示的是ImageIndex:=1这个图标,怎么让它打开后目录变成第二个图标?
另外,要如何获得选中目录的节点?procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string;
Item: TTreeNode; IncludeFiles: Boolean);
var
SearchRec: TSearchRec;
ItemTemp: TTreeNode;
begin
TreeView1.Items.BeginUpdate;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
if FindFirst(Directory + '*.*' , faDirectory, SearchRec) = 0 then
begin
repeat
if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
begin
if (SearchRec.Attr and faDirectory > 0) then
Item := Tree.Items.AddChild(Item, SearchRec.Name);
ItemTemp := Item.Parent;
GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);
Item := ItemTemp;
end
else
if IncludeFiles then
if SearchRec.Name[1] <> '.' then
Tree.Items.AddChild(Item, SearchRec.Name).ImageIndex:=1;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
TreeView1.Items.EndUpdate;
end;
end;
另外,要如何获得选中目录的节点?procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string;
Item: TTreeNode; IncludeFiles: Boolean);
var
SearchRec: TSearchRec;
ItemTemp: TTreeNode;
begin
TreeView1.Items.BeginUpdate;
if Directory[Length(Directory)] <> '\' then
Directory := Directory + '\';
if FindFirst(Directory + '*.*' , faDirectory, SearchRec) = 0 then
begin
repeat
if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
begin
if (SearchRec.Attr and faDirectory > 0) then
Item := Tree.Items.AddChild(Item, SearchRec.Name);
ItemTemp := Item.Parent;
GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);
Item := ItemTemp;
end
else
if IncludeFiles then
if SearchRec.Name[1] <> '.' then
Tree.Items.AddChild(Item, SearchRec.Name).ImageIndex:=1;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
TreeView1.Items.EndUpdate;
end;
end;
解决方案 »
- 请问如何把窗体隐藏起来?
- 如何获得 WMP 控件播放列表 PlayList 中当前播放歌曲的索引号?
- 讨论:Delphi程序员考高级程序员有用吗
- 如果让一个biBitCount=8的位图与一个DC兼容!
- 如何获得指定目录下的文件列表
- 有哪位高人使用过此控件?没用过可以看看,很不错的!
- 谁用过后关系型数据库比如说CACHE?
- 兄弟这么急都不来看看。哎。难道分数不高?可是太···。
- 师傅们,能不能告诉我棋类的人工智能怎么写呀?比如说军旗。
- 请问SQL语句中怎样把一个数据库的东西拷到另一个结构相同的库中
- 那里有图标(库)下载???(*.ico,delphi工具栏,菜单栏图标)
- delphi 界面控件,谁能发给我?
begin
with Tree.Items.AddChild(Item, SearchRec.Name) do
begin
ImageIndex := 1;
SelectedIndex := 2; //注: ImageList中应该有两个图标, 编号分别是1和2
end;
end;
procedure TForm1.mycopyfile(sourcef, targetf: string);
var
FromF, ToF: file;
NumRead, NumWritten: Integer;
Buf: array[1..2048] of Char;
n:integer;
begin
AssignFile(FromF, sourcef);
Reset(FromF, 1); {Record size = 1}
AssignFile(ToF,targetf); { Open output file }
Rewrite(ToF, 1); { Record size = 1 }
n:=0;
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
sProgressBar1.Max:= 100;
label10.caption:=IntToStr(sizeof(buf)*n*100 div FileSize(FromF))+'%';
sProgressBar1.Position:=sizeof(buf)*n*100 div FileSize(FromF);//+'100%';
application.ProcessMessages;
//显示进度
BlockWrite(ToF, Buf, NumRead, NumWritten);
inc(n);
until (NumRead = 0) or (NumWritten <> NumRead);
//Label5.Caption:='100%';
CloseFile(FromF);
CloseFile(ToF);
end;