• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

delphi 搞代码 7年前 (2018-08-09) 150次浏览 已收录 0个评论

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

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

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

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

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

http://www.gaodaima.com/?p=65813如何在Delphi中制作“动态选单”_Delphi

  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;

欢迎大家阅读《如何在Delphi中制作“动态选单”_Delphi》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:如何在Delphi中制作“动态选单”_Delphi

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址