接著,申明一個指針指向那個結構:
PUnitNodeInfo : ^TUnitNodeInfo;
接著看一看建樹的處理:
procedure CreateUnitTree;
var
TreeNode : TTreeNode;
NodeInof : PUnitNodeInfo;
begin
...
{在此的打開數據表、提取數據很多文檔中有論及,我就不再重復}
TreeNoe := TreeVIEw.Items.AddChild(...);
TreeNode.ImageIndex := ;{設置節點圖標索引,當然也可以不在此設置而在TreeVIEw的事件中設置}
New(NodeInof);{為節點指針分配內存}
with NodeInfo^ do
begin
UnitCode := ;{對節點數據屬值}
......
end;{with...}
TreeNode.Data := NodeInof;
.....{上面代碼放在復合語句中,增加樹中每一個節點}
end;
然後,在TreeVIEw的OnChange事件中,可以這樣取得節點數據:
var
UnitCode : string;
begin
UnitCode :- TUnitNodeInfo(TreeVIEw.Items[索引].Data^).UnitCode;
.........
end;
最後,不用樹的時候,記得釋放樹節點指針:
var
I : integer;
begin
for I := 0 to TreeVIEw.Items.Count - 1 do
begin
Dispose(TreeVIEw.Items[I].Data);
TreeVIEw.Items[I].Data := nil;
end;
end;
ListVIEw的相關用法與此類似,就不再講了。寫了這些,也不知道能不能讓各位看明白,有不對的地方,請多指教。