dephi中如何建树状菜单
怎样用dephi 做树形菜单啊?
[解决办法]
一个将下拉菜单转换成树状菜单的函数
procedure MenuToTreeView(AMenu:TMenuItem;TreeView:TTreeView);
procedure AddItems(Parent: TMenuItem; TreeNode: TTreeNode);
var
i: integer;
Node: TTreeNode;
begin
for i := 0 to Parent.Count-1 do
begin
if Parent[i].Action <> nil then
if (TAction(Parent[i].Action).Visible=False) or
(TAction(Parent[i].Action).Enabled=False) then continue;
Node := TreeView.Items.AddChild(TreeNode, Parent[i].Caption);
Node.Data := Parent[i];
if AMenu = Parent[i] then
Node.Selected := true;
if Parent[i].Count > 0 then
begin
AddItems(Parent[i], Node); //递归
end;
end;
end;
begin
TreeView.Items.BeginUpdate;
try
TreeView.Items.Clear;
AddItems(AMenu, nil);
finally
TreeView.Items.EndUpdate;
end;
TreeView.FullExpand;
end;
[解决办法]
用到了TAction控件
[解决办法]
盒子有一个菜单转treeview的代码,看看就知道了,其实很简单。