程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> TMainMenu 類[三] - 手動建立菜單(5) : 給菜單項添加事件

TMainMenu 類[三] - 手動建立菜單(5) : 給菜單項添加事件

編輯:Delphi

unit Unit1; 
 
interface 
 
uses 
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 Dialogs, Menus; 
 
type 
 TForm1 = class(TForm) 
  procedure FormCreate(Sender: TObject); 
  procedure Proc(Sender: TObject); {聲明將要被調用的方法} 
 end; 
 
var 
 Form1: TForm1; 
 
implementation 
 
{$R *.dfm} 
 
var 
 MyMenu: TMainMenu; 
 Item: TMenuItem; 
 
{實現將要被調用的方法} 
procedure TForm1.Proc(Sender: TObject); 
begin 
 if Sender is TMenuItem then 
  ShowMessage(TMenuItem(Sender).Caption); 
end; 
 
 
procedure TForm1.FormCreate(Sender: TObject); 
var 
 Itemd: TMenuItem; 
begin 
 MyMenu := TMainMenu.Create(Self); 
 MyMenu.AutoHotkeys := maManual; 
 Self.Menu := MyMenu; 
 
 Item := TMenuItem.Create(MyMenu); 
 Item.Caption := 'AA'; 
 MyMenu.Items.Add(Item); 
 
  Itemd := TMenuItem.Create(MyMenu); 
  Itemd.Caption := 'A&1'; 
  Itemd.OnClick := Proc; {調用方法} 
  Item.Add(Itemd); 
 
  Itemd := TMenuItem.Create(Item); 
  Itemd.Caption := 'A&2'; 
  Itemd.OnClick := Proc; {調用方法} 
  Item.Add(Itemd); 
end; 
 
end. 

  效果圖:

TMainMenu 類[三] - 手動建立菜單(5) : 給菜單項添加事件

  不過, 菜單事件一般是使用 ActionList 的, 添加一個 ActionList 同時添加一個方法, 實現和上面同樣的功能:

unit Unit1; 
 
interface 
 
uses 
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 Dialogs, Menus, ActnList; 
 
type 
 TForm1 = class(TForm) 
  ActionList1: TActionList; 
  Action1: TAction; 
  procedure FormCreate(Sender: TObject); 
  procedure Action1Execute(Sender: TObject); 
 end; 
 
var 
 Form1: TForm1; 
 
implementation 
 
{$R *.dfm} 
 
var 
 MyMenu: TMainMenu; 
 Item: TMenuItem; 
 
 
procedure TForm1.Action1Execute(Sender: TObject); 
begin 
 if Sender is TMenuItem then 
  ShowMessage(TMenuItem(Sender).Caption); 
end; 
 
 
procedure TForm1.FormCreate(Sender: TObject); 
var 
 Itemd: TMenuItem; 
begin 
 MyMenu := TMainMenu.Create(Self); 
 MyMenu.AutoHotkeys := maManual; 
 Self.Menu := MyMenu; 
 
 Item := TMenuItem.Create(MyMenu); 
 Item.Caption := 'AA'; 
 MyMenu.Items.Add(Item); 
 
  Itemd := TMenuItem.Create(MyMenu); 
  Itemd.Caption := 'A&1'; 
  Itemd.OnClick := Action1Execute; {調用方法} 
  Item.Add(Itemd); 
 
  Itemd := TMenuItem.Create(Item); 
  Itemd.Caption := 'A&2'; 
  Itemd.OnClick := Action1Execute; {調用方法} 
  Item.Add(Itemd); 
end; 
 
end. 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved