《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章

上传人:E**** 文档编号:89401172 上传时间:2019-05-24 格式:PPT 页数:93 大小:409KB
返回 下载 相关 举报
《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章_第1页
第1页 / 共93页
《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章_第2页
第2页 / 共93页
《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章_第3页
第3页 / 共93页
《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章_第4页
第4页 / 共93页
《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章_第5页
第5页 / 共93页
点击查看更多>>
资源描述

《《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章》由会员分享,可在线阅读,更多相关《《Visual FoxPro程序设计基础教程(第二版)》-李正凡-电子教案 第7章(93页珍藏版)》请在金锄头文库上搜索。

1、2019/5/24,1,第7章 菜单、工具栏及数据共享,菜单是用户和应用程序的接口。菜单设计的好坏不但反映了应用程序中的功能模块组织的水平,同时也反映了应用程序的用户友善性。 数据共享技术允许多用户共享数据。数据加锁与解锁以及更新数据的方法是实现数据共享的重要方法。,2019/5/24,2,7.1 菜单和工具栏,7.1.1 设计菜单 菜单具有较好的组织形式和内容,是应用程序的一种直观的反映。用户通过菜单很好地理解应用程序,方便地使用应用程序。,2019/5/24,3,7.1.1 设计菜单,1创建一个完整菜单系统的步骤 (1)规划菜单系统,确定需要哪些菜单、出现在界面的何处及哪几个菜单要有子菜单

2、等。 (2)创建菜单及子菜单,用菜单设计器定义菜单标题、菜单项和子菜单。图7-1 菜单系统组成 (3)指定菜单所要执行的任务,例如显示表单或对话框等。如果需要,还可以包括初始化代码或清理代码。 (4)选择“预览”按钮预览菜单系统。 (5)从“菜单”菜单上选择“生成”命令,生成菜单程序以及运行菜单程序,对菜单系统进行测试。 (6)从“程序”菜单中选择“执行”命令,然后选择已生成的菜单程序运行。,2019/5/24,4,2菜单系统结构及组成,一个完整的菜单系统如图7-1所示。 主要包括菜单栏、菜单标题、下拉菜单、菜单项和子菜单。 菜单项中可包括VFP命令或者子菜单。,图7-1 菜单系统组成,201

3、9/5/24,5,7.1.2 使用菜单设计器创建菜单,使用菜单设计器可快速开发出菜单。可用以下几种方法打开菜单设计器: 单击“常用”工具栏上的“新建”按钮,从文件类型列表中选择“菜单”,然后单击“新建文件”按钮。 选择“文件”菜单的“新建”命令。 应用项目管理器,即从项目管理器中选择“菜单”,然后单击“新建”按钮。,2019/5/24,6,7.1.2 使用菜单设计器创建菜单(续),在打开“菜单设计器”之前,系统将打开“新建”对话框,如图7-2所示,可以创建两种形式的菜单:普通菜单和快捷菜单,单击其中任何一个按钮可打开菜单设计器。 普通菜单和快捷菜单的菜单设计器在外观上并无区别,只是两者的设计方

4、法略有不同。,图7-2 “新建菜单”对话框,2019/5/24,7,1. 创建普通菜单和快捷菜单,如图7-3所示是一个快捷菜单示例。 在快捷菜单中,可将若干选定的系统菜单项加入到自己的菜单系统中。 方法是单击“插入栏”按钮打开“插入系统菜单栏”对话框,如图7-4所示,然后从中选择所需要的菜单项,并单击“插入”按钮即可。 快捷菜单的调用方法和普通菜单相同,用户只需要在程序中加入命令“DO菜单名称.mpr”即可。,2019/5/24,8,1. 创建普通菜单和快捷菜单(续),图7-3 快捷菜单示例,图7-4 “插入系统菜单栏”对话框,2019/5/24,9,1. 创建普通菜单和快捷菜单(续),在普通

5、菜单设计器中,也可利用VFP菜单为模板来创建自己的菜单系统。 方法是从“菜单”菜单中选择“快速菜单”选项。 “菜单设计器”中即出现VFP系统菜单,如图7-5所示。,图7-5 已添加菜单系统的菜单设计器,2019/5/24,10,2. 菜单设计器的使用,(1)菜单设计窗口组成 “菜单名称”栏用于输入菜单的提示字符串。 若要设定菜单项的热键,可在要设定为热键的字母前面加上号。 如果没有给出这个符号,则菜单提示字符串的第一个字母即自动被定义为热键。 执行菜单时,按“Alt+热键”即可打开该菜单项。在图7-3中,“输入”菜单的热键是Alt+I,“查询”菜单的热键是Alt+S,“退出”菜单的热键是Alt

6、+Q。 在菜单名的左边有一个小方框按钮,称为“移动指示器”,当鼠标移动到它的上面时形状会变成上下双箭头的样子。用鼠标拖动“移动指示器”即可改变当前菜单项在菜单列表中的位置。,2019/5/24,11,1)“结果”栏,该项中共有4个选项,用于选定菜单项的功能类别。 子菜单(Submenu):如果用户定义的当前菜单项还有子菜单,应选这一项。 命令(Command):若当前菜单项的功能是执行某种动作的话应选这一项。 主菜单名/菜单项#(Pad Name/Bar#):“主菜单名”出现在定义主菜单时,“菜单项#”出现在定义子菜单项时。 过程(Procedure):用于定义一个与菜单项相关联的过程,当用户

7、选择了该菜单项将执行这一过程。,2019/5/24,12,2)“选项”按钮,单击该按钮将弹出“提示选项”对话框,如图7-6所示。 使用该对话框可设置用户定义的菜单系统中各菜单项的属性。 例如,定义菜单项的快捷键,控制如何禁止或允许使用菜单项,选取菜单项时是否在系统状态条上显示对菜单项的说明信息,指定菜单项的名字以及在编辑OLE对象期间控制菜单项的位置等。,图7-6 “提示选项”对话框,2019/5/24,13,2)“选项”按钮(续),该对话框主要有以下几个选项: “快捷方式”区:用于指定菜单或菜单项的快捷键(即Ctrl键和其他键的组合)。 “位置”选项区:当用户在应用程序中编辑一个OLE对象时

8、,可在该区指定菜单项的位置。 跳过:单击这个编辑框右侧的“”按钮将调出表达式生成器,用户可在表达式生成器中输入允许/禁止菜单项的条件。如表达式为真,则菜单项不可用。 信息:单击这个编辑框右侧的“”按钮也将调出表达式生成器。在表达式生成器的“信息”编辑框中输入对菜单项的说明信息,这些信息将出现在系统状态条上。 菜单项:允许指定可选的菜单标题,用户可以在程序中通过该标题引用菜单项。 备注:在这里输入对菜单项的注释。,2019/5/24,14,3)菜单级,菜单级弹出列表显示出当前所处的菜单级别。当菜单的层次较多时,利用这一项可快速返回任意一级菜单。 4)“预览”按钮 使用这个按钮可查看正在设计的菜单

9、的形象,并可在所显示的菜单中进行选择,检查菜单的层次关系及提示等是否正确,但这种选择不执行各菜单的相应动作。 5)“插入”按钮 在当前菜单项的前面插入一新的菜单项。 6)“删除”按钮 删除当前的菜单项。,2019/5/24,15,(2)“常规选项”对话框,当用户选择“显示”菜单中的“常规选项”时将显示“常规选项”对话框,如图7-7所示。该对话框用于为整个菜单系统输入代码,它主要由以下几个部分组成: 1)“过程”编辑框:在这里输入菜单过程的代码。 2)“编辑”按钮:单击“编辑”按钮将打开一个编辑窗口,用户可在编辑窗口中输入菜单过程的代码。,图7-7 “常规选项”对话框,2019/5/24,16,

10、(2)“常规选项”对话框(续),3)“位置”区:共有4个按钮,它们的含义分别是: 替换:将现有的菜单系统替换成新的(用户定义的)菜单系统。 追加:将用户定义的菜单附加在现有菜单的后面。 在之前:将用户定义的菜单插入到指定菜单的前面。选中这一选项将出现一个弹出列表,在其中列出了当前菜单系统的菜单名。从这里选择一个菜单名,用户定义的菜单将出现在该菜单的前面。 在之后:将用户定义的菜单插入到指定菜单的后面。 4)菜单代码:它包括如下两个复选框: 设置:为菜单系统加入一段初始化代码。单击“设置”复选框可打开初始化代码编辑窗口,即可编辑初始化代码;单击“确定”按钮关闭“常规选项”对话框。 清理:为菜单系

11、统加入一段结束代码。单击“清理”按钮进入结束代码编辑窗口,即可编辑结束代码;单击“确定”按钮关闭“常规选项”对话框。 5)顶层菜单:如果选定该复选框,将允许该菜单在顶层表单(SDI)中使用。如果未选定,则只允许该菜单在VFP页框中使用。,2019/5/24,17,(3)“菜单选项”对话框,单击“显示”菜单中的“菜单选项”命令,出现“菜单选项”对话框,如图7-8所示。该对话框用于为菜单栏(即顶层菜单)或各子菜单项输入代码,它包括以下几个选项: 1)名称:显示菜单的名称,如果用户当前正在编辑主菜单,则此处的文件名是不可改变的(其名称为“菜单栏”)。如果用户当前正在编辑子菜单,则此处的文件名可以改变

12、。默认时这里的文件名与用户在菜单设计窗口提示列的内容一样。 2)过程:“过程”编辑框用于输入或显示菜单的过程代码。 3)“编辑”按钮:单击“编辑”按钮将打开一个文本编辑窗口,它实际上是放大了的过程框。,2019/5/24,18,(3)“菜单选项”对话框(续),图7-8 “菜单选项”对话框,2019/5/24,19,7.1.3 在应用程序中使用菜单,菜单创建好后,可用于实际应用程序中,也就是用菜单将编制好的应用程序有机地组织起来。形成一个界面友好的应用程序。 1. 为菜单或菜单项指定任务 (1)为菜单项指定一个命令 该命令可以是任何有效的VFP命令,包括对程序和过程的调用。 过程应该在“常规选项

13、”对话框的“清理”选项中定义。 为菜单指定命令应符合下列的语法格式: DO procname & procname是过程名称。 例如,在图7-3的菜单的查询子菜单中,在“结果”项选择“命令”项。在“选项”中输入下述语句: DO e:txtvfp60统计学生成绩.qpr 该命令将已经建立“统计学生成绩”的查询功能加入菜单。,2019/5/24,20,(2)为菜单项指定一个过程,当为不含有子菜单的菜单或菜单项指定过程时,可在“结果”菜单框中,选择“过程”,单击“创建”按钮或“编辑”按钮,在打开的编辑窗口中输入过程代码。 当为含有子菜单的菜单或菜单项指定过程时,应首先在“菜单级”框中选择要指定过程的

14、菜单项。然后从“显示”菜单中选择“菜单选项”菜单项,显示“菜单选项”对话框,如图7-9所示。,图7-9 为含有子菜单的菜单指定过程,2019/5/24,21,(2)为菜单项指定一个过程(续),用下述方法之一可指定下一个过程: 在“过程”框中编写或调用过程; 单击“编辑”按钮,再单击“确定”按钮,打开独立的编辑窗口并编辑或调用过程。 在图7-3中,为增加输入功能,可以在输入菜单添加下述过程语句: USE e:txtvfp60xk.dbf EXCLUSIVE Append use,2019/5/24,22,2. 添加初始化代码,菜单的初始化代码可包含: 创建环境的代码 定义内存变量的代码 打开所需

15、要文件的代码 用PUSH MENU和POP MENU保存或恢复菜单系统的代码。 向菜单系统添加初始化代码的方法是: (1)从“显示”菜单中选择“常规选项”(“常规选项”对话框如图7-7所示)。 (2)在“常规选项”对话框的“菜单代码”区域,选择“设置”复选框。 (3)单击“确定”按钮,打开一个初始化代码编辑窗口。 (4)在初始化代码编辑窗口输入适当的初始化代码。 对所建的菜单,当多次执行时,会发出“表已打开”的错误,为此可以添加下述初始化代码: CLOSE ALL,2019/5/24,23,3. 添加清理代码,菜单清理代码的作用是在菜单初次启用时启用菜单或菜单项,或在菜单使用过程中,根据用户的

16、选择废止或启用菜单系统中的菜单或菜单项。 菜单清理代码一般放在初始化代码及菜单定义代码后,菜单的指定任务过程代码之前。 添加菜单清理代码的步骤是: 在“常规选项”对话框的“菜单代码”区域选择“清理”复选框。 在打开的编辑窗口中输入清理代码。,2019/5/24,24,4. 释放菜单,当应用程序结束时,菜单的使命也宣告完成。 这时,需要释放菜单,以节约内存。 释放菜单的命令为: RELEASE MENUS 例如,在“退出”菜单中,输入如下过程语句: RELEASE MENUS SET SYSMENU TO DEFAULT 最后完成的菜单设计器如图7-10所示。,图7-10 最后完成的菜 单设计器画面,2019/5/24,25,4. 释放菜单(续),完成菜单设计后,单击“菜单”菜单的“生成”命令,在“另存为”对话框中为新设计的菜单程序命名,单击“保存”按钮,在“生成菜单”对话框中单击“生成”按钮。 菜单生成后,自动生成两个文件: .mnx文件,用来保存菜单系统,该文件的作用是可以将其加入项目中并同其余模块连编成一个应用程序。 .mpr文件,这个文件是生成的V

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号