procedure TForm1.DisplayMenu(aItem: TMenuItem; Node: TTreeNode);
var
I: Integer;
CNode: TTreeNode;
begin
CNode := TreeView.Items.AddChildObject(Node, aItem.Caption, aItem);
for I := 0 to aItem.Count - 1 do
DisplayMenu(aItem[I], CNode);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
TreeView.Items.Clear;
TreeView.Items.BeginUpdate;
try
for i:=0 to MainMenu.Items.Count-1 do
DisplayMenu(MainMenu.Items[i], nil);
finally
TreeView.Items.EndUpdate;
end;
end;
별로 쓸만한 실력은 아니지만 한번 만들어 봤습니다. 델파이 6에서 작업했습니다.
procedure TForm1.DisplayMenu(aItem: TMenuItem; Node: TTreeNode);
var
I: Integer;
CNode: TTreeNode;
begin
CNode := TreeView.Items.AddChildObject(Node, aItem.Caption, aItem);
for I := 0 to aItem.Count - 1 do
DisplayMenu(aItem[I], CNode);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
TreeView.Items.Clear;
TreeView.Items.BeginUpdate;
try
for i:=0 to MainMenu.Items.Count-1 do
DisplayMenu(MainMenu.Items[i], nil);
finally
TreeView.Items.EndUpdate;
end;
end;
도움이 되셨으면 합니다.