1 //根据dxBarManager 的菜单生成 TdxNavBar菜单
2 procedure TfrmMain.GenerateNavBarFromBarManager(dxBarManagerBar: TdxBar; dxNavBar:
3 TdxNavBar);
4 var
5 i, j: Integer;
6 group: TdxNavBarGroup;
7 dxBarItem: TdxBarSubItem;
8 bar: TdxNavBarItem;
9 begin
10 // 确保 TdxNavBar 清空
11 dxNavBar.Groups.Clear;
12 for i := 0 to dxBarManagerBar.ItemLinks.Count - 1 do
13 begin
14 if dxBarManagerBar.ItemLinks[i].Visible = true then
15 begin
16 if dxBarManagerBar.ItemLinks[i].Item is TdxBarSubItem then
17 begin
18 dxBarItem := TdxBarSubItem(dxBarManager1Bar1.ItemLinks[i].Control.Item);
19 group := dxNavBar.Groups.Add;
20 group.Caption := dxBarItem.Caption;
21 for j := 0 to dxBarItem.ItemLinks.Count - 1 do
22 begin
23 if dxBarItem.ItemLinks.Items[j].Visible = True then
24 begin
25 if (dxBarItem.ItemLinks.Items[j].Item is TdxBarButton) then
26 begin
27 bar := dxNavBar.Items.Add;
28 bar.Caption := dxBarItem.ItemLinks.Items[j].Caption;
29 bar.OnClick := dxBarItem.ItemLinks.Items[j].Item.OnClick;
30 bar.SmallImageIndex := 0;
31 group.CreateLink(bar);
32 end;
33 end;
34 end;
35 end;
36 end;
37 end;
38 end;