捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
动态创建dxSidebar&dxBarmanager.Mainmenu项目
关键字:动态创建TdxBarManager,TdxSideBar的项目
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:初级 完成时间:2009/6/10
发布者:bigwell 发布时间:2009/6/10
编辑器:DELPHI7 语  种:简体中文
分 类:组件 下载浏览:467/12278
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
---无代码下载
{

经常上盒子查找需要的资料,今天给大家发一点有用的代码

相信好多人都用过dxbarmanager的菜单,但要动态增加项目可能会感觉不知所然!

以下代码在D7测试通过

bigwell

}
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, dxsbar, ImgList, dxBar;
type
  TForm1 = class(TForm)
    SideBar: TdxSideBar;
    ImageList1: TImageList;
    BarManager: TdxBarManager;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    //side bar click proc
    procedure OnBarItemClick(Sender: TObject;Item: TdxSideBarItem);
    //menu item click proc
    procedure OnMenuItemClick(Sender: TObject);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);
var
i,c:integer;
g:TdxSideGroup;
it:TdxSideBarItem;

  ACategoryName: string;
  ACategory: Integer;
  AItemLinks: TdxBarItemLinks;

    AItem, AChildItem: TdxBarItem;
    AItemLink: TdxBarItemLink;

begin
  //创建MainMenu
  with BarManager.Bars.Add do
  begin
    Caption := 'Main Menu';
    DockingStyle := dsTop;
    IsMainMenu := True;
    Visible := True;

  end;
  //获取Mainmenubar.itemlins
  AItemLinks := BarManager.MainMenuBar.ItemLinks;
  ACategoryName := 'Menus';
  BarManager.MainMenuBar.LockUpdate := True;
  //Get Category index
  with BarManager.Categories do
  begin
    if IndexOf(ACategoryName) < 0 then Add(ACategoryName);
    ACategory := IndexOf(ACategoryName);
  end;



  for i:=1 to 4 do
   with SideBar do
   begin
      //创建组
      g:=Groups.Add;
      with g do
      begin
        Index:=i-1;
        Caption:=Format('Group%d',[i]);
        IconType := dxsgSmallIcon;
      end;
      //创建主菜单单项目
      AItem := TdxBarSubItem.Create(Form1);
      with AItem do
      begin
        Category := ACategory;
        Caption := g.Caption;
      end;
      //添加到主菜单
      AItemLink:=AItemLinks.Add;
      AItemLink.Item:=AItem;

      //创建组的子项目
      for c:=1 to 5 do
      begin
        it:=g.Items.Add;
        with it do
        begin
          Index:=c-1;
          Caption:=Format('Group%d - Item %d',[i,c]);
          SmallImage:=0;
          //comm item click proc
          OnItemClick:=OnBarItemClick;
          //或使用action
          //Action:=act_XXX;

        end;
        //创建子菜单
        AChildItem:=TdxBarButton.Create(form1);
        with AChildItem do
        begin
          caption:=it.Caption;
          Visible:=ivAlways;
          OnClick:=OnMenuItemClick;
          ImageIndex:=0;
          //或使用action
          //Action:=act_XXX;
        end;
        //添加子菜单到主菜单
        AItemLink := TdxBarSubItem(AItem).ItemLinks.Add;
        AItemLink.Item := AChildItem;
      end;
   end;
    with BarManager.Categories do
      Move(ACategory, Count - 1);
   BarManager.MainMenuBar.LockUpdate := False;

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  SideBar.Groups.Clear;
  BarManager.MainMenuBar.ItemLinks.Clear;
end;

procedure TForm1.OnBarItemClick(Sender: TObject; Item: TdxSideBarItem);
begin
  showmessage(item.Caption);
end;

procedure TForm1.OnMenuItemClick(Sender: TObject);
begin
    showmessage((sender as TdxBarButton).Caption);
end;

end.
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论1条
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表