TMainMenu 类[三] - 手动建立菜单(6) : 更换菜单


unit Unit1;



interface



uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Menus, StdCtrls;



type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



var

  MyMenu1,MyMenu2: TMainMenu;

  Item: TMenuItem;





procedure TForm1.FormCreate(Sender: TObject);

begin

  {建立第一个菜单}

  MyMenu1 := TMainMenu.Create(Self);

  MyMenu1.AutoHotkeys := maManual;



  Item := TMenuItem.Create(MyMenu1);

  Item.Caption := 'AA';

  MyMenu1.Items.Add(Item);



  Item := TMenuItem.Create(MyMenu1);

  Item.Caption := 'BB';

  MyMenu1.Items.Add(Item);



  Item := TMenuItem.Create(MyMenu1);

  Item.Caption := 'CC';

  MyMenu1.Items.Add(Item);





  {建立第二个菜单}

  MyMenu2 := TMainMenu.Create(Self);

  MyMenu2.AutoHotkeys := maManual;



  Item := TMenuItem.Create(MyMenu2);

  Item.Caption := 'XX';

  MyMenu2.Items.Add(Item);



  Item := TMenuItem.Create(MyMenu2);

  Item.Caption := 'YY';

  MyMenu2.Items.Add(Item);



  Item := TMenuItem.Create(MyMenu2);

  Item.Caption := 'ZZ';

  MyMenu2.Items.Add(Item);





  Self.Menu := nil; {当前 Form 没有指向任何一个菜单}

end;





procedure TForm1.Button1Click(Sender: TObject);

begin

  Self.Menu := MyMenu1; {指向第一个菜单}

end;





procedure TForm1.Button2Click(Sender: TObject);

begin

  Self.Menu := MyMenu2; {指向第二个菜单}

end;



end.


 
   
效果图:

TMainMenu 类[三] - 手动建立菜单(6) : 更换菜单

你可能感兴趣的:(main)