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

📄 wzjh41.htm

📁 Delphi文摘精华.rar
💻 HTM
字号:
<html><head><title>用Delphi制作动态菜单</title><meta content="text/html;CHARSET=gb2312" http-equiv="Content-Type"><style type="text/css">.font {	FONT-SIZE: 9pt; LINE-HEIGHT: 13pt}.bfont {	FONT-SIZE: 11pt; LINE-HEIGHT: 13pt}A:link {	COLOR: #0080c0; CURSOR: hand; FONT-STYLE: normal; TEXT-DECORATION: none}A:visited {	COLOR: #0080c0; FONT-STYLE: normal; TEXT-DECORATION: none}A:active {	COLOR: rgb(255,0,0); FONT-STYLE: normal; TEXT-DECORATION: none}A:hover {	COLOR: red; TEXT-DECORATION: underline}</style><script LANUGAGE="JavaScript"><!--function pop(pageurl) {  varpopwin=window.open(pageurl,"popWin","scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=650,height=450");  return false;}//--></script><style type="text/css">TD {	FONT-FAMILY: "宋体"; FONT-SIZE: 9pt}BODY {	FONT-FAMILY: "宋体"; FONT-SIZE: 9pt}SELECT {	FONT-FAMILY: "宋体"; FONT-SIZE: 9pt}A {	COLOR: white; FONT-FAMILY: "宋体"; FONT-SIZE: 9pt; TEXT-DECORATION: none}A:hover {	COLOR: #3300ff FONT-FAMILY: "宋体"; FONT-SIZE: 9pt; TEXT-DECORATION: underline}</style><SCRIPT language=Javascript1.2 src="best.js"></SCRIPT><SCRIPT language=JavaScript><!--- hide script from old browsersvar ie=0;browserName=navigator.appName.substring(0,27);if (browserName=="Microsoft Internet Explorer") {ie=1;} if (ie) {document.bgColor="#ffffff";}// -- End Hiding Here --></SCRIPT><META content="Microsoft FrontPage 4.0" name=GENERATOR><SCRIPT>var Flag=0</SCRIPT><body link="#008000" vlink="#008000" bgcolor="#FFFFFF"><div align="center"><center>    <table border="0" width="750" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF">      <tr>        <td width="100%">           <table border="0" width="100%" cellspacing="1" bgcolor="#FFFFFF">            <tr bgcolor="#FFFFFF">               <td width="100%" height="133">                 <p align="center"><strong> 《 用Delphi制作动态菜单 》 </strong></p>                <div align="center">                   <center>                    <table border="0" width="650" bgcolor="#5BADFF"        cellspacing="1" cellpadding="2">                      <tr>                         <td width="100%" bgcolor="#FFFFFF" colspan="6"><br>                            所谓动态菜单是指菜单项随着程序的操作变化而变化。现在,我们用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>                          (李晓方) <br>                        </td>                      </tr>                    </table>                  </center>                </div>              </td>            </tr>          </table>        </td>  </tr></table>    <td width="100%" height="50" colspan="2">&nbsp;</td>    </center></div></body></html>

⌨️ 快捷键说明

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