`
xzknet
  • 浏览: 299196 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

Delphi动态添加菜单

阅读更多

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, ComCtrls;

type
  TMainForm = class(TForm)
    MainMenu1: TMainMenu;
    Button1: TButton;
    N0000000001: TMenuItem;
    RichEdit1: TRichEdit;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure N0000000001Click(Sender: TObject);
  private
    procedure MyClick(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MainForm: TMainForm;
  subItemName:String;

implementation

{$R *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
var addSubItem:TMenuItem;
    i:Integer;
    N:Integer;
    SubMenuItemSource:String;
begin
N:=5;
SubMenuItemSource:='动态-';
for i:=0 to N do //N等于要添加的动态菜单数目,需事先定义为数值型变量,并赋值
begin
addSubItem:= TMenuItem.Create(Self);
addSubItem.Name := 'A'+IntToStr(i);
addSubItem.Caption := SubMenuItemSource+IntToStr(i);// 步骤1的SubMenuItemSource应先赋值
//FileOpenItem.Add(addSubItem);//在名称为FileOpenItem的菜单项下添加子菜单
addSubItem.OnClick:=self.MyClick;//步骤2的MyClick(),自定义菜单要响应的事件
self.MainMenu1.Items.Add(addSubItem);
end
end;

procedure TMainForm.MyClick(Sender: TObject);  //动态菜单OnClick事件响应
begin
ShowMessage(TMenuItem(Sender).Caption);      //显示选中的动态菜单标题,
end;

procedure TMainForm.Button1Click(Sender: TObject);
var addSubItem:TMenuItem;
    i:Integer;
    N:Integer;
    SubMenuItemSource:String;
begin
self.MainMenu1.Items[0].OnClick:=nil; //变为无事件
N:=5;
SubMenuItemSource:='KKKKK-';
subItemName:=subItemName+'T';
for i:=0 to N do //N等于要添加的动态菜单数目,需事先定义为数值型变量,并赋值
begin
addSubItem:= TMenuItem.Create(Self);
addSubItem.Name := subItemName+IntToStr(i);
addSubItem.Caption := SubMenuItemSource+IntToStr(i);// 步骤1的SubMenuItemSource应先赋值
//FileOpenItem.Add(addSubItem);//在名称为FileOpenItem的菜单项下添加子菜单
addSubItem.OnClick:=self.MyClick;//步骤2的MyClick(),自定义菜单要响应的事件
self.MainMenu1.Items[0].Add(addSubItem);
end
end;


procedure TMainForm.N0000000001Click(Sender: TObject);
begin
showmessage('aaa');
end;

end.

分享到:
评论

相关推荐

    Delphi 在程序运行过程中动态添加菜单.rar

    Delphi创建动态菜单,在程序运行过程中动态添加菜单,点击“添加菜单”按钮,会在菜单栏中增加一个“编辑”菜单项,预设中每次添加的菜单项都是“编辑”,这也是为了验证不要添加重复的菜单项,代码中的判断是一种...

    Delphi动态创建主菜单和菜单项.rar

    Delphi动态创建主菜单和菜单项,程序直接演示了点击按钮后,动态适时在窗口中增加 主菜单项,不过似乎这样用的不多哦,一般都在代码中直接添加好菜单了,不过有时候,说不定你哪天的软件中就要用到类似功能了,代码 ...

    delphi导航菜单范例

    一个简单的delphi导航菜单,赶快下载吧!

    Delphi添加托盘菜单实例..rar

    Delphi添加托盘菜单实例..rar

    Delphi为ListBox列表增加图标以及生成动态菜单.rar

    Delphi为ListBox列表增加图标以及生成动态菜单,实现对ListBox组件的个性化定制功能,实现更好的视觉效果,同时还演示了为ListBox或ComBox添加图片、添加水平条以及在窗体上动态创建一组菜单,也是值得学习的一个...

    Delphi 向窗体的系统菜单添加菜单项.rar

    Delphi 向窗体的系统菜单添加菜单项,也就是在系统默认的菜单项中,添加自定义的菜单项,我记得有不少类似的例子,这个是书中的例子,也是挺简单的,高手请绕行。  有多少个菜单项,都会用循环逐项显示出来,  ...

    动态添加菜单.rar

    动态添加菜单.rar 动态添加菜单.rar 动态添加菜单.rar 动态添加菜单.rar 动态添加菜单.rar 动态添加菜单.rar

    Delphi中添如何添加右键菜单

    Delphi中添如何添加右键菜单,含源码

    Delphi Edit右键系统菜单加自定义菜单项

    Delphi Edit右键系统菜单加自定义菜单项,注意是添加,不是用新菜单替换系统菜单!

    Delphi在窗口中添加系统菜单项.rar

    Delphi在WinForm窗口菜单中添加系统菜单项:  procedure TForm1.user_sysmenu(var msg: twmmenuselect);  begin  if msg.iditem=101 then  showmessage('响应系统菜单!')  else  inherited; //作缺省处理,必须...

    Delphi将指定菜单项添加到TreeView中.zip

    Delphi将指定菜单项添加到TreeView中

    Delphi将指定菜单项添加到TreeView中.rar

    Delphi将指定菜单项添加到TreeView中,可将主界面菜单栏中的菜单项,添加到界面左侧的树形菜单控件中,这个树形菜单看上去相当不错,设计漂亮,而且在众多的Delphi软件编写中,都有很高的几率要用到TreeView菜单,...

    如何在Delphi窗口的标题栏上添加菜单项.rar

    Delphi菜单实例,在Delphi窗口的标题栏上添加菜单项,如果看懂本示例的话,添加无限制的菜单就很容易,不过这种用法不多见哦。看到了吗?鼠标右键点击窗口的标题栏,在弹出的菜单中,“我的系统菜单项”即为添加的...

    Delphi 利用INI文件创建窗口菜单.rar

    这是一个Delphi 7.0 利用INI文件创建窗口菜单的范例源码,在Delphi7环境下可直接编译运行,将创建的菜单内容按照以下顺序保存在INI文件中,程序会自动读取INI文件,生成菜单:[菜单]  文件=打开|保存|退出|  全...

    delphi源码cxGrid动态添加所有下拉事件

    cxGrid控件 若TcxGridColumn的Properties属性 是TcxComboBoxProperties 则 Col.Properties.OnChange:= Button1.OnClick;

    Delphi 在系统默认的窗口菜单中添加自定义菜单项

    Delphi在系统默认的窗口菜单中添加自定义菜单项,在窗体标题栏的右键菜单中添加自定义菜单,这个源码功能主要是演示这一功能如何实现,超简单,面向Delphi的基础学者。 运行环境:Windows/Delphi7

    Delphi开发的树形菜单实例 DBTree结构.rar

    DBTree结构的Delphi树形菜单实例源码,可实现添加节点时自动编号,可一次删除节点分类及子节点下所有分类,为了更好的演示与数据库的配合,本实例加入了Access数据库,相信通过这个实例,你对DBTree的使用会更进一层...

    Delphi打开外部程序、把菜单加入系统菜单中

    内容索引:Delphi源码,系统相关,开始菜单 Delphi打开外部已开启的应用程序,比如打开计算器应用程序,WinExec(Pchar('C:\Windows\calc.exe'), SW_NORMAL) ;  Delphi把自己的菜单项加入系统菜单, 要解决这...

Global site tag (gtag.js) - Google Analytics