下面的过程可以把TreeView导出为文本文件
procedure ExpandChild(
const ANode : TTreeNode;
const AList : TStrings;
const ALevel : string = ''
);
//展开子节点
var
i : Integer;
begin
if ANode.Count = 0 then Exit;
for i := 0 to ANode.Count - 2 do
begin
AList.Add(ALevel + '├' +ANode.Item[i].Text);
ExpandChild(ANode.Item[i],AList,ALevel + '│');
end;
AList.Add(ALevel + '└' +ANode.Item[ANode.Count-1].Text);
ExpandChild(ANode.Item[ANode.Count-1],AList,ALevel + ' ');
end;
procedure ExportNode(
const ANode : TTreeNode;
const AFileName : string
);
//导出节点
var
aList : TStrings;
begin
aList := TStringList.Create;
try
aList.Add(ANode.Text);
ExpandChild(ANode,aList);
aList.SaveToFile(AFileName);
finally
aList.Free;
end;
end;
调用:
if dlgSave.Execute then
ExportNode(TreeView1.Selected,dlgSave.FileName);
结果示例:
窗口查看器 - TFrmWindowView
├(空) - TListBox
├(空) - TCoolBar
│├(空) - TToolBar
│├(空) - TToolBar
││├(空) - TPanel
│││├搜索 - TButton
│││└(空) - TEdit
││└搜索文本: - TPanel
│└(空) - TToolBar
│ └捕获 - TPanelEx
├(空) - TStatusBar
├(空) - TTreeView
└(空) - TListBox
此文章由 http://www.ositren.com 收集整理 ,地址为:
http://www.ositren.com/htmls/68098.html