如何在Delphi中制作“动态选单”

Ainy幸福

Ainy幸福

2016-01-29 14:16

如何在Delphi中制作“动态选单”,如何在Delphi中制作“动态选单”
 

  所谓动态选单是指选单项随着程序的操作变化而变化。现在,我们用Delphi来实现这一功能,具体步骤如下:

  1.首先,确定动态选单的数据来源,即要确定动态选单标题是来自Windows的系统注册表,还是来自一个数据库,或者是来自一个子目录,主要由程序的功能而定。这里假设主窗口名为MainForm,上面已有主选单,其动态选单的数据源是一个String类型的变量,名称为SubMenuItemSource。

  2.确定生成的动态选单的功能,即定义动态选单的OnClick()事件,例如,动态选单标题来自一个磁盘文件名时,那么程序在响应OnClick()事件时,可能的操作是要打开选中的文件。因此,对选单所在的主窗口模块的单元程序的数据,我们需要定义Type后添加一个自定义的事件MyClick()。

  然后,需要编写如下MyClick()事件的具体内容:

  procedure TMainForm.MyClick(Sender: TObject);//动态选单OnClick事件响应

  begin

  Show.Message(TMenuItem(Sender).Caption);//显示选中的动态选单标题

  end;

  这里调用的ShowMessage标准例程(在Dialogs.pas中)显示TMenuItem(Sender).Caption,它就是选择的选单项的Caption,类似用TMenuItem(Sender).Name选择选单项的Name。

  3.编写程序将动态选单标题添加到指定的选单项下,并将其与OnClick()事件联系起来。将以下程序段添加到MainForm的OnCreate事件过程中,可在程序启动时完成动态选单的动态生成:

  procedure TMainForm.FormCreate(Sender: TObject);

  var

  addSubItem:TMenuItem;

  i:Integer;

  begin

  for i:=0 to N do //N等于要添加的动态选单数目,需事先定义为数值型变量,并赋值

  begin

  addSubItem:= TMenuItem.Create(Self);

  addSubItem.Name := ′A′+IntToStr(i);

  addSubItem.Caption := SubMenuItemSource; // 步骤1的SubMenuItemSource应先赋值

  FileOpenItem.Add(addSubItem); //在名称为FileOpenItem的选单项下添加子选单

  addSubItem.OnClick:=MyClick; // 步骤2的MyClick(),自定义选单要响应的事件

  end

  end;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/delphi/) 
展开更多 50%)
分享

猜你喜欢

如何在Delphi中制作“动态选单”

Delphi
如何在Delphi中制作“动态选单”

如何在Delphi中操作Excel

Delphi
如何在Delphi中操作Excel

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

DELPHI中动态调用dll

编程语言 网络编程
DELPHI中动态调用dll

如何在Delphi中实现ASP编程

Delphi
如何在Delphi中实现ASP编程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Delphi制作带图标的弹出式选单

Delphi
Delphi制作带图标的弹出式选单

用Delphi制作动态有声标签

Delphi
用Delphi制作动态有声标签

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PHP+AJAX实现无刷新注册(带用户名实时检测)

PHP+AJAX实现无刷新注册(带用户名实时检测)

用Delphi 开发数据库程序经验三则

用Delphi 开发数据库程序经验三则
下拉加载更多内容 ↓