《菜单设计与建立应用程序系统.ppt》由会员分享,可在线阅读,更多相关《菜单设计与建立应用程序系统.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Visual FoxPro第九章菜单设计与建立应用程序系统菜单基础菜单是应用程序的一个重要组成部分,VFP中可以通过以往的常规程序设计方法,直接编写代码进行菜单设计,但通过VFP提供的菜单设计器,可以更为方便、灵活地设计出完美的、具有Windows风格的菜单系统。9.1 创建菜单 菜单系统由菜单栏、菜单标题、菜单及菜单项组成,它通常处于程序的主窗口之中,是构成应用程序主框架的重要部分。我们可以将菜单的设计分为菜单规划、菜单创建、功能实现(指定菜单任务)和(菜单)程序生成四个步骤进行。9.1.1 菜单规划(1)在制作菜单之前,一定要对菜单有一个整体的规划,规划的原则有以下几点:(1)合理地组织菜
2、单(2)菜单项的组织顺序要按一定的规则进行,要符合一般的习惯。(3)菜单的标题要有一定意义9.1.1 菜单规划(2)(4)菜单的访问键以及快捷键的选择一要考虑到上一代(如果有的话)程序的选择,二要考虑到目前多数软件的自然约定选择。(5)尽量将菜单项的数目限制在一个屏幕之内(6)在菜单的不同逻辑组之间加入分隔线,以便于用户的选择(7)对英文菜单,其菜单名称建议采用大小写混合字体等。9.1.2 新建菜单(1)在VFP中,新建菜单要通过菜单设计器来进行,打开菜单设计器的方法有两个:(1)选择“文件”菜单中的“新建”命令项,从“新建”窗口中选择“菜单”,然后选择“新建文件”或“向导”按钮,打开菜单设计
3、器(2)从项目管理器中选择“其他”选项中的“菜单”选项,然后选择“新建”按钮打开菜单设计器。9.1.2 新建菜单(2)打开菜单设计器后,系统显示如图所示。9.1.2 新建菜单(3)菜单设计器的组成(1)菜单编辑区:菜单编辑区是进行菜单输入、编辑的区域,包含有如下项目:移动按钮:在菜单项的前面,用来调整菜单的次序菜单名称:输入、编辑菜单的名称和快捷键结果:该菜单的类型(命令、子菜单、过程等)创建:根据“结果”的设置,进行菜单的创建选项:对菜单项进行有关的设置。9.1.2 新建菜单(4)(2)选项和按钮区该区域进行菜单项的辅助操作,包括:菜单级:选择进行操作的菜单级别(是主菜单还是某一级子菜单)。
4、菜单项按钮区:对编辑区的菜单项进行插入菜单项、插入(系统菜单)栏、删除菜单项操作。预览:查看菜单设计的实际效果。9.2 菜单的设置9.2.1 选项的使用每个菜单的后面都有一个“选项”按钮,单击按此钮,系统即打开“提示选项”窗口。其中在“跳过”选项中可以设置菜单项是否启动的条件:若在此框中输入一个逻辑表达式,则系统在运行时会自动根据此逻辑表达式的值来判定是否可使用该菜单项,若逻辑表达式的值为.T.,则正常显示该菜单项,否则以浅色显示,表示该菜单项不可用。9.2.2 菜单的常规选项打开菜单设计器后,在系统的“显示”菜单中将增加“常规选项”菜单项,从中可以对菜单运行时作必要的设置。其中“位置”选项可
5、以设置本菜单和原菜单的关系,一般选择“替换”。有关“设置”和“清理”的作用在后面章节具体介绍。9.2.3 菜单的设置代码菜单的设置代码是菜单在执行之前首先执行的程序部分,其作用是进行全局性设置,为执行菜单程序做必要的准备。为菜单添加设置代码是在“常规选项”窗口中进行的。在“常规选项”窗口中单击“设置”按钮,会弹出一个“菜单设计器-xxx-设置”窗口(xxx表示菜单文件名),其中显示有菜单的设置代码,此时再单击“确定”按钮,即可将插入点移动到“菜单设计器-xxx-设置”窗口中,对设置代码进行修改。9.2.4 菜单的清理代码(1)菜单的清理代码是菜单在执行结束之后要执行的程序部分,其作用是对菜单执
6、行完毕后做一些清理等善后工作,有时也用作激活菜单。需要特别提出的是:在VFP中菜单的运行是通过事件循环机制来实现的,定义的菜单不能直接执行,必须通过一个read events命令才能将菜单激活并且进入事件循环状态,菜单才可用。如果没有read events命令,菜单将一闪而过,根本不能停留在屏幕上,更无法操作。Read events可以放在清理菜单的开头(因为菜9.2.4 菜单的清理代码(2)单没有激活,不能停留,故执行完毕后将立即执行清理程序,从而执行read events语句,进入事件循环状态),也可以放置在调用菜单程序的调用语句之后,例如:do c:rsglmain_menu.mpr r
7、ead events (其中mpr为菜单程序扩展名)菜单清理代码的操作和菜单设置代码的操作基本一致,不再详述。9.3 菜单任务的指定(1)对于菜单中的命令项,必须指定当选择该菜单项时要执行的命令,主要有两种方法:9.3.1 执行命令当一个菜单项的任务只需一条命令即可完成时,可在该菜单项的“结果”下拉列表中选择“命令”选项,然后在后面的命令文本框中直接输入命令即可。例如,要运行C盘根目录下RSGL文件夹中的表单EDIT.SCX,则可输入如下命令:DO FORM C:RSGLEDIT.SCX9.3 菜单任务的指定(2)9.3.2 执行过程当一个菜单项的任务需一段程序才能完成时,可在该菜单项的“结果
8、”下拉列表中选择“过程”选项,然后单击后面的“创建”命令按钮,系统即弹出一个“菜单设计器-xxx-过程”窗口(xxx表示该菜单项名),从中即可输入和编辑该菜单项所要执行的命令序列。输入完毕后,单击窗口的关闭按钮,将输入的过程保存起来即完成了命令过程的编辑。9.3 菜单任务的指定(3)9.3.3 创建子菜单若某一菜单项下面还有子菜单,可在该菜单项的“结果”下拉列表中选择“子菜单”选项,然后单击后面的“创建”按钮(若某一菜单项已经有子菜单时,此按钮为“编辑”),即可打开子菜单设计窗口,可进行子菜单编辑。编辑完成后,可以关闭窗口结束菜单编辑,也可通过“菜单级”选项选择其他的子菜单或主菜单继续进行编辑
9、。9.4 成成菜单程序(1)9.4.1 菜单预览对设计的菜单,用户可随时进行预览来观察其效果,在菜单设计器中有一个“预览”按钮,单击此按钮,在系统窗口菜单位置将会出现设计的菜单效果,可根据预览效果进行进一步的菜单设计。9.4 生成菜单程序(2)9.4.2 生成菜单程序在项目管理器中制作的菜单作为扩展名为mnx的文件被保存,若在项目管理器中运行菜单程序,则系统会生成一个mpr程序源代码程序,系统运行的也是生成后的mpr源代码程序,而非前面制作的菜单。注:在VFP中,扩展名为MNX、MNT、MPR、MPX的文件均是菜单文件,但只有MPR文件为源代码文件,mnt为菜单备注文件,mnx为菜单文件,mp
10、x为编译后的菜单程序。9.4 生成菜单程序(3)对一个已经制作好的菜单,要生成mpr源代码程序也很简单,其步骤是:(1)在菜单设计器中打开要生成mpr源代码程序的菜单(2)选择VFP系统菜单的“菜单”项,选择其“生成”命令项(3)在“生成菜单”对话框中输入mpr源代码程序文件名,再单击“生成”按钮。9.4 生成菜单程序(4)9.4.3 查看与修改菜单源代码程序对菜单源代码程序,可通过两种方式进行查看与修改。(1)通过“文件”菜单的“打开”命令项选择要打开的.mpr菜单文件将其打开。(2)在命令窗口输入命令,其格式为:MODIFY COMMAND 注意:对若用菜单生成器重新生成了mpr源代码程序
11、文件,则上述两种方法对菜单的修改将被取消,所以修改菜单尽量用菜单设计器。9.5 建立应用程序(1)到目前为止,我们已经讲述了VFP的主要内容,即可通过VFP设计实际的应用系统,在设计实际应用系统时,其基本步骤如下:(1)通过分析,了解系统需要的主要功能,根据功能设计出系统的具体部分(数据库、表单、菜单等)。(2)通过项目管理器建立一个项目(3)在项目管理器中完成系统具体功能的设计和调试。9.5 建立应用程序(2)(4)设置系统的主程序:在项目管理器中,右单击要设置为主程序的文件,从弹出的快捷菜单中选择“设置主文件”项,即可将该文件设置为主文件,VFP将把主文件作为系统运行的起始程序。(5)对程序进行必要的美化,如设计封面、背景、口令等。(6)在项目管理器中连编项目,生成EXE文件(在Windows下运行,但需要VFP6R.DLL和VFP6ENU.DLL支持)或APP文件(在VFP下运行)。9.5 建立应用程序(3)(7)需要的话,通过“工具”菜单中的“向导”项的“安装”子菜单项,将系统做成可安装的系统盘。生成系统盘后,该系统即可象一般的Windows系统程序一样通过Setup程序自动进行安装。关于建立应用程序的实例,可通过教学范例进行说明。
限制150内