第八章 菜单设计与应用.doc_第1页
第八章 菜单设计与应用.doc_第2页
第八章 菜单设计与应用.doc_第3页
第八章 菜单设计与应用.doc_第4页
第八章 菜单设计与应用.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 菜单设计与应用常见的菜单由两种:下拉式菜单与快捷菜单。一个应用程序通常以下拉式菜单的形式列出其具有的功能供用户调用。而快捷菜单一般从属于某个对象,列出了有关该对象的一些操作。8.1.1菜单结构VFP支持两种类型的菜单:条形菜单和弹出式菜单。每个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。每个弹出式菜单也有一个内部名字和一组菜单选项。每一个菜单选项可以有选择地设置一个热键和一个快捷键。热键通常是一个字符。当菜单激活时,可以按菜单项的热键快速选择该菜单选项。快捷键通常是CTRL键个一个字符组成的组合键。不管菜单是否被激活,都可以通过快捷菜单选择相应的菜单选项。8.1.2系统菜单VFP系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。条形菜单中常见选项的名称及内部名字如表所示选项名称内部名称文件_MSM_FILE编辑_MSM_EDIT显示_MSM_VIEW工具_MSM_TOOLS程序_MSM_PROC窗口_MSM_WINDO帮助_MSM_SYSTM条形菜单的内部名字为_MSYSMENU,也可以看作是整个菜单系统的内部名字。选择条形菜单中的每个菜单项都会激活一个弹出式菜单,各弹出式菜单的内部名字如表所示弹出式菜单内部名称“文件” 菜单_FILE “编辑” 菜单_EDIT “显示” 菜单_VIEW “工具” 菜单_TOOLS “程序” 菜单_PROC “窗口” 菜单_WINDO “帮助” 菜单_SYSTM8.2下拉式菜单设计下拉式菜单是一种最常见的菜单,VFP提供的菜单设计器可以方便的进行下拉式菜单的设计。具体来说,菜单设计器的功能有两个:一是通过定制VFP系统菜单建立应用程序的下拉式菜单,此时器条形菜单的内部名称总是_MSYSMENU;二是为顶层表单设计独立于VFP系统菜单的下拉式菜单。8.2.1菜单设计的基本过程1、调用菜单设计器(1)选择【文件】|【新建】命令。(2)在【新建】对话框中选择【菜单】单选按钮,然后单击【新建文件】按钮,打开“新建文件”对话框如图所示。(3)单击“菜单”弹出菜单设计器如图所示。也可以通过命令调用菜单设计器,打开“菜单设计器”窗口,进行菜单的建立或修改。命令的格式如下:MODIFY MENU 菜单文件的扩展名默认为.MNX。2生成菜单程序菜单定义文件存放着菜单的各项定义,但其本身是一个表文件,并不能运行。必须生成可执行的菜单程序文件(.MPR)具体操作为:在菜单设计器环境下,选择【菜单】|【生成】命令;然后在【生成菜单】对话框中指定菜单程序文件的名称和存储路径,最后单击【生成】按钮。3、菜单的运行可以通过命令DO 运行菜单程序,但文件的扩展名不能省略。运行菜单程序时,系统会自动编译.MPR文件,并产生用于运行的.MPX文件。8.2.2定义菜单【菜单设计器】窗口打开时,首先显示和定义的时条形菜单,如图所示。具体说明如下:(1) 菜单名称指定菜单项的名称,也称为标题,用于显示,并非内部名字。每一行定义一个菜单项。设置热键在指定菜单名称时,可以设置菜单项的访问键(热键),具体方法是要在作为访问键的字符前加上“|”两个字符。例如菜单名为“数据录入(R)”那么字符R即为该菜单项的热键。设置分组线可以根据菜单功能的相似性或相近性,将弹出菜单的菜单项分组,VFP系统提供的分组手段是在两组之间插入一条水平的分组线,方法是在相应行的菜单名列上输入“-”两个字符。(2) 结果该列用于指定用户选择该菜单项时的动作。单击该列将出现一个下拉列表框,有命令、过程、子菜单、和填充菜单四种选择。 命令:选择此项,列表框右侧会出现一个文本框。可以在文本框内输入一条具体的命令。当选择该菜单项时,将执行这条命令。 过程:选择此项,列表框右侧会出现【创建】命令按钮,单击【创建】按钮将打开一个文本编辑器窗口,可以在其中输入和编辑过程代码。注:在输入代码时不要输入PROCEDURE语句。 子菜单:选择此选项,列表框右侧会出现【创建】或【编辑】命令按钮(第一次为【创建】按钮,以后为【编辑】按钮)单击【创建】或【编辑】按钮【菜单设计器】窗口就切换到子菜单页,可以定义子菜单。 填充名称或菜单项#:选择此项,列表框右侧会出现一个文本框。可以在文本框内输入菜单项的内部名字或序号。 (3)选项每个菜单项的“选项”列都有一个无符号按钮,单击该按钮则弹出【提示选项】对话框如图所示 快快捷方式:指定菜单项的快捷键。方法是:将鼠标定位到键标签文本框,然后在键盘上按快捷键。比如按下CTRL+A则【键标签】文本框内就会出现CTRL+A快捷键通常是CTRL键或ALT键与另一个字符的组合。 跳过:定义菜单项的跳过条件。指定一个表达式,由表达式的值决定该菜单项是否可选。当菜单激活时如果表达式的值为.T.则菜单项以灰色显示,表示不可用。 信息:定义菜单的说明信息。指定一个字符表达式。在编辑子菜单编辑器对话框的【插入栏】选项可用将VFP的系统菜单命令插入到自定义菜单中。具体操作为单击【插入栏】按钮则会弹出【插入系统菜单栏】对话框,选择需要的菜单命令并单击【插入】按钮。2显示菜单 在菜单设计器环境下,系统的【显示】菜单出现两条命令:【常规选项】与【菜单选项】。 常规选项选择菜单【显示】|【常规选项】命令,则会弹出【常规选项】对话框如图所示。在这个对话框里,可用定义整个下拉式菜单系统的总体属性。位置:指明正在定义的下拉式菜单与当前系统菜单的关系。替换:指明正在定义的菜单内容去替换当前系统菜单原有的内容。追加:将定义的菜单内容添加到当前系统菜单原有内容的后面。在之前:将定义的菜单内容插在当前系统菜单某个菜单项之前。在之后:将定义的菜单内容插在当前系统菜单某个菜单项之后。菜单代码:有【设置】和【清理】两个复选框。无论选择哪个复选框,都会弹出一个代码编辑窗口,单击【确定】按钮可用激活代码编辑窗口。【设置】代码放置在菜单程序文件中菜单定义代码的前面,在菜单产生之前执行。【清理】代码放置在菜单程序文件中菜单定义代码的后面,在菜单显示出来之后执行。顶层菜单:如果选择该复选框则可以将正在定义的下拉式菜单添加到一个顶层表单里,否则将作为一个定制的系统菜单。【例8-1】利用菜单设计器建立一个下拉式菜单menu11,具体要求如下:(1)菜单项包括信息(W)、退出(X)两项,它们分别是弹出方式菜单wh和将菜单恢复为标准设置(系统菜单)。(2)弹出式菜单wh包括“数据维护”和“编辑”两个子菜单且中间有分组线。快捷键分别为CTRL+D和CTRL+E(3)”数据维护”包括”录入记录”、”修改记录”、”浏览记录”它们的运行结果分别为程序文件LR.PRG、XG.PRG、LL.PRG。“编辑”包括”剪切”、”复制”和”粘贴”三个选项,它们分别调用相应的系统标准功能。操作步骤如下:(1) 在命令窗口输入命令:MODIFY MENU MENU11Dv打开菜单设计窗口。(2) 设置菜单的菜单项如图所示:(3) 为菜单项“退出”定义过程代码:在“结果”选择“过程”单击“创建”按钮,打开文件编辑窗口,输入下面两行代码:SET SYSMENU NOSAVESET SYSMENU TO DEFAULT(4)定义弹出式菜单wh:单击“信息”菜单项在“结果”选择“子菜单”单击右侧“创建”按钮,使设计器切换到子菜单页,然后设置个菜单项。如图所示(5)设置弹出式菜单的内部名字:从“显示”菜单选择“菜单选项”命令,打开“菜单选项”对话框,然后在“名称”对话框中输入wh如图所示:(6)单击”数据维护” 菜单项在“结果”选择“子菜单”单击右侧“创建”按钮进入“数据维护”子菜单菜单页,然后设置个菜单项如图所示:(7)为菜单项“录入记录”设置快捷菜单:单击菜单项“选项”右侧按钮,打开“提示选项”对话框,然后单击“键标签”文本框,并在键盘上按组合键CTRL+L。用同样的方式为其他菜单项设置快捷键。(8)在“菜单级”列表框选择“信息”,返回到“信息”菜单页。(9)单击“编辑”子菜单, 在“结果”中选择“子菜单”单击右侧“创建”按钮。使设计器窗口切换到子菜单项;单击“插入栏”按钮,打开“插入系统菜单栏”对话框;从对话框的列表框中选择“粘贴”项并单击“插入”按钮;用同样的方法插入复制和剪切项。(10)生成菜单程序:单击“菜单”中“生成”命令。产生c菜单运行程序文件menu11.mpr8.2.3为顶层表单添加菜单为顶层表单添加下拉式菜单的方法和过程如下:用上述同样的方法在菜单设计器窗口中设计下拉式菜单。菜单设计时,在“常规选项”对话框中选择“顶层菜单”复选框。将表单的ShowWindow属性设置为2-作为“顶层表单”,使其成为顶层表单。在表单的init事件代码中添加调用菜单程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论