读书人

dephi中怎么建树状菜单

发布时间: 2012-02-11 09:51:35 作者: rapoo

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的代码,看看就知道了,其实很简单。

读书人网 >.NET

热点推荐