⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 create_menu.htm

📁 对于学习很有帮助
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>《 用Delphi制作动态菜单 》</title>
</head>

<body bgcolor="#FFFFFF" text="#000000">

<p align="center"><span class="title">《 用Delphi制作动态菜单 》</span><br>
</p>

<table align="center" border="0" cellPadding="2" cellSpacing="0" width="615">
<TBODY>
  <tr>
    <td>  所谓动态菜单是指菜单项随着程序的操作变化而变化。现在,我们用Delphi来实现这一功能,具体步骤如下:<br>
      1.首先,确定动态菜单的数据来源,即要确定动态菜单标题是来自Windows的系统注册表,还是来自一个数据库,或者是来自一个子目录,主要由程序的功能而定。这里假设主窗口名为MainForm,上面已有主菜单,其动态菜单的数据源是一个String(字符串)类型的变量,名称为SubMenuItemSource。<br>
      2.确定生成的动态菜单的功能,即定义动态菜单的OnClick()事件,例如,动态菜单标题来自一个磁盘文件名时,那么程序在响应OnClick()事件时,可能的操作是要打开选中的文件。因此,对菜单所在的主窗口模块的单元程序的数,据我们需要定义Type后添加一个自定义的事件MyClick()。 
    <br>
      然后,需要编写如下MyClick()事件的具体内容:<br>
      procedure TMainForm.MyClick(Sender: TObject);//动态菜单OnClick事件响应<br>
      begin <br>
      Show.Message(TMenuItem(Sender).Caption);//显示选中的动态菜单标题,<br>
      end; <br>
      这里调用的ShowMessage标准例程(在Dialogs.pas中)显示TMenuItem(Sender).Caption,它就是选择的菜单项的Caption,类似用TMenuItem(Sender).Name则是选择菜单项的Name。<br>
      3.编写程序将动态菜单标题添加到指定的菜单顶下,并将其与OnClick()事件联系起来。将以下程序段添加到MainForm的OnCreate事件过程中,可在程序启动时完成动态菜单的动态生成:<br>
      procedure TMainForm.FormCreate(Sender: TObject);<br>
      var <br>
      addSubItem:TMenuItem;<br>
      i:Integer;<br>
      begin <br>
      for i:=0 to N do //N等于要添加的动态菜单数目,需事先定义为数值型变量,并赋值 
    <br>
      begin <br>
      addSubItem:= TMenuItem.Create(Self); <br>
      addSubItem.Name := ′A′+IntToStr(i); <br>
      addSubItem.Caption := SubMenuItemSource; // 步骤1的SubMenuItemSource应先赋值<br>
      FileOpenItem.Add(addSubItem); //在名称为FileOpenItem的菜单项下添加子菜单<br>
      addSubItem.OnClick:=MyClick; // 步骤2的MyClick(),自定义菜单要响应的事件 
    <br>
      end<br>
      end;<br>
    (<a href="menu.arj"><font color="#FF0000">下载完整的范例程序</font></a>)<br>
    <b>(李晓方)</b></td>
  </tr>
</TBODY>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -