动态添加DevExpressBar中的菜单

来源:互联网 发布:php跳转到指定html页面 编辑:程序博客网 时间:2024/06/07 01:37

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dxSkinsCore, dxSkinsDefaultPainters, dxSkinsdxBarPainter, dxBar,
  cxLookAndFeels, dxSkinsForm, cxClasses;

type
  TForm1 = class(TForm)
    dxBarManager1: TdxBarManager;
    dxBarManager1Bar1: TdxBar;
    dxBarManager1Bar2: TdxBar;
    dxBarSubItem1: TdxBarSubItem;
    dxBarButton1: TdxBarButton;
    siModual: TdxBarSubItem;
    dxBarButton2: TdxBarButton;
    dxBarEdit1: TdxBarEdit;
    procedure dxBarButton1Click(Sender: TObject);
    procedure dxBarButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure myclick(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.dxBarButton1Click(Sender: TObject);
begin
  application.Terminate ;

end;

procedure TForm1.dxBarButton2Click(Sender: TObject);
var
  btnCustomColor: TdxBarButton;
begin
  btnCustomColor := TdxBarButton.Create(Self);
  with btnCustomColor do
  begin
    Caption := 'RunTime Add';
    Hint := 'Click to select custom color';
    Description := ClassName;
    PaintStyle := psCaption;
    OnClick := myclick;
    self.Caption := btnCustomColor.Name;
  end;
//  siModual.ItemLinks.Add.Item := btnCustomColor; //此语句等同于如下语句
  TdxBarSubItem(dxBarManager1.GetItemByName('siModual')).ItemLinks.Add.Item := btnCustomColor ;
end;

procedure TForm1.myclick(Sender: TObject);
begin
  caption := (Sender as TdxBarButton).Name + IntToStr((Sender as TdxBarButton).Index);
end;

end.

 

注:部分代码来源于DevExpress的帮助。

原创粉丝点击