菜单工具栏及数据共享.ppt
《菜单工具栏及数据共享.ppt》由会员分享,可在线阅读,更多相关《菜单工具栏及数据共享.ppt(93页珍藏版)》请在三一办公上搜索。
1、2023/11/5,1,第7章 菜单、工具栏及数据共享,菜单是用户和应用程序的接口。菜单设计的好坏不但反映了应用程序中的功能模块组织的水平,同时也反映了应用程序的用户友善性。数据共享技术允许多用户共享数据。数据加锁与解锁以及更新数据的方法是实现数据共享的重要方法。,2023/11/5,2,7.1 菜单和工具栏,7.1.1 设计菜单菜单具有较好的组织形式和内容,是应用程序的一种直观的反映。用户通过菜单很好地理解应用程序,方便地使用应用程序。,2023/11/5,3,7.1.1 设计菜单,1创建一个完整菜单系统的步骤(1)规划菜单系统,确定需要哪些菜单、出现在界面的何处及哪几个菜单要有子菜单等。(
2、2)创建菜单及子菜单,用菜单设计器定义菜单标题、菜单项和子菜单。图7-1 菜单系统组成(3)指定菜单所要执行的任务,例如显示表单或对话框等。如果需要,还可以包括初始化代码或清理代码。(4)选择“预览”按钮预览菜单系统。(5)从“菜单”菜单上选择“生成”命令,生成菜单程序以及运行菜单程序,对菜单系统进行测试。(6)从“程序”菜单中选择“执行”命令,然后选择已生成的菜单程序运行。,2023/11/5,4,2菜单系统结构及组成,一个完整的菜单系统如图7-1所示。主要包括菜单栏、菜单标题、下拉菜单、菜单项和子菜单。菜单项中可包括VFP命令或者子菜单。,图7-1 菜单系统组成,2023/11/5,5,7
3、.1.2 使用菜单设计器创建菜单,使用菜单设计器可快速开发出菜单。可用以下几种方法打开菜单设计器:单击“常用”工具栏上的“新建”按钮,从文件类型列表中选择“菜单”,然后单击“新建文件”按钮。选择“文件”菜单的“新建”命令。应用项目管理器,即从项目管理器中选择“菜单”,然后单击“新建”按钮。,2023/11/5,6,7.1.2 使用菜单设计器创建菜单(续),在打开“菜单设计器”之前,系统将打开“新建”对话框,如图7-2所示,可以创建两种形式的菜单:普通菜单和快捷菜单,单击其中任何一个按钮可打开菜单设计器。普通菜单和快捷菜单的菜单设计器在外观上并无区别,只是两者的设计方法略有不同。,图7-2“新建
4、菜单”对话框,2023/11/5,7,1.创建普通菜单和快捷菜单,如图7-3所示是一个快捷菜单示例。在快捷菜单中,可将若干选定的系统菜单项加入到自己的菜单系统中。方法是单击“插入栏”按钮打开“插入系统菜单栏”对话框,如图7-4所示,然后从中选择所需要的菜单项,并单击“插入”按钮即可。快捷菜单的调用方法和普通菜单相同,用户只需要在程序中加入命令“DO菜单名称.mpr”即可。,2023/11/5,8,1.创建普通菜单和快捷菜单(续),图7-3 快捷菜单示例,图7-4“插入系统菜单栏”对话框,2023/11/5,9,1.创建普通菜单和快捷菜单(续),在普通菜单设计器中,也可利用VFP菜单为模板来创建
5、自己的菜单系统。方法是从“菜单”菜单中选择“快速菜单”选项。“菜单设计器”中即出现VFP系统菜单,如图7-5所示。,图7-5 已添加菜单系统的菜单设计器,2023/11/5,10,2.菜单设计器的使用,(1)菜单设计窗口组成“菜单名称”栏用于输入菜单的提示字符串。若要设定菜单项的热键,可在要设定为热键的字母前面加上号。如果没有给出这个符号,则菜单提示字符串的第一个字母即自动被定义为热键。执行菜单时,按“Alt+热键”即可打开该菜单项。在图7-3中,“输入”菜单的热键是Alt+I,“查询”菜单的热键是Alt+S,“退出”菜单的热键是Alt+Q。在菜单名的左边有一个小方框按钮,称为“移动指示器”,
6、当鼠标移动到它的上面时形状会变成上下双箭头的样子。用鼠标拖动“移动指示器”即可改变当前菜单项在菜单列表中的位置。,2023/11/5,11,1)“结果”栏,该项中共有4个选项,用于选定菜单项的功能类别。子菜单(Submenu):如果用户定义的当前菜单项还有子菜单,应选这一项。命令(Command):若当前菜单项的功能是执行某种动作的话应选这一项。主菜单名/菜单项#(Pad Name/Bar#):“主菜单名”出现在定义主菜单时,“菜单项#”出现在定义子菜单项时。过程(Procedure):用于定义一个与菜单项相关联的过程,当用户选择了该菜单项将执行这一过程。,2023/11/5,12,2)“选项
7、”按钮,单击该按钮将弹出“提示选项”对话框,如图7-6所示。使用该对话框可设置用户定义的菜单系统中各菜单项的属性。例如,定义菜单项的快捷键,控制如何禁止或允许使用菜单项,选取菜单项时是否在系统状态条上显示对菜单项的说明信息,指定菜单项的名字以及在编辑OLE对象期间控制菜单项的位置等。,图7-6“提示选项”对话框,2023/11/5,13,2)“选项”按钮(续),该对话框主要有以下几个选项:“快捷方式”区:用于指定菜单或菜单项的快捷键(即Ctrl键和其他键的组合)。“位置”选项区:当用户在应用程序中编辑一个OLE对象时,可在该区指定菜单项的位置。跳过:单击这个编辑框右侧的“”按钮将调出表达式生成
8、器,用户可在表达式生成器中输入允许/禁止菜单项的条件。如表达式为真,则菜单项不可用。信息:单击这个编辑框右侧的“”按钮也将调出表达式生成器。在表达式生成器的“信息”编辑框中输入对菜单项的说明信息,这些信息将出现在系统状态条上。菜单项:允许指定可选的菜单标题,用户可以在程序中通过该标题引用菜单项。备注:在这里输入对菜单项的注释。,2023/11/5,14,3)菜单级,菜单级弹出列表显示出当前所处的菜单级别。当菜单的层次较多时,利用这一项可快速返回任意一级菜单。4)“预览”按钮使用这个按钮可查看正在设计的菜单的形象,并可在所显示的菜单中进行选择,检查菜单的层次关系及提示等是否正确,但这种选择不执行
9、各菜单的相应动作。5)“插入”按钮在当前菜单项的前面插入一新的菜单项。6)“删除”按钮删除当前的菜单项。,2023/11/5,15,(2)“常规选项”对话框,当用户选择“显示”菜单中的“常规选项”时将显示“常规选项”对话框,如图7-7所示。该对话框用于为整个菜单系统输入代码,它主要由以下几个部分组成:1)“过程”编辑框:在这里输入菜单过程的代码。2)“编辑”按钮:单击“编辑”按钮将打开一个编辑窗口,用户可在编辑窗口中输入菜单过程的代码。,图7-7“常规选项”对话框,2023/11/5,16,(2)“常规选项”对话框(续),3)“位置”区:共有4个按钮,它们的含义分别是:替换:将现有的菜单系统替
10、换成新的(用户定义的)菜单系统。追加:将用户定义的菜单附加在现有菜单的后面。在之前:将用户定义的菜单插入到指定菜单的前面。选中这一选项将出现一个弹出列表,在其中列出了当前菜单系统的菜单名。从这里选择一个菜单名,用户定义的菜单将出现在该菜单的前面。在之后:将用户定义的菜单插入到指定菜单的后面。4)菜单代码:它包括如下两个复选框:设置:为菜单系统加入一段初始化代码。单击“设置”复选框可打开初始化代码编辑窗口,即可编辑初始化代码;单击“确定”按钮关闭“常规选项”对话框。清理:为菜单系统加入一段结束代码。单击“清理”按钮进入结束代码编辑窗口,即可编辑结束代码;单击“确定”按钮关闭“常规选项”对话框。5
11、)顶层菜单:如果选定该复选框,将允许该菜单在顶层表单(SDI)中使用。如果未选定,则只允许该菜单在VFP页框中使用。,2023/11/5,17,(3)“菜单选项”对话框,单击“显示”菜单中的“菜单选项”命令,出现“菜单选项”对话框,如图7-8所示。该对话框用于为菜单栏(即顶层菜单)或各子菜单项输入代码,它包括以下几个选项:1)名称:显示菜单的名称,如果用户当前正在编辑主菜单,则此处的文件名是不可改变的(其名称为“菜单栏”)。如果用户当前正在编辑子菜单,则此处的文件名可以改变。默认时这里的文件名与用户在菜单设计窗口提示列的内容一样。2)过程:“过程”编辑框用于输入或显示菜单的过程代码。3)“编辑
12、”按钮:单击“编辑”按钮将打开一个文本编辑窗口,它实际上是放大了的过程框。,2023/11/5,18,(3)“菜单选项”对话框(续),图7-8“菜单选项”对话框,2023/11/5,19,7.1.3 在应用程序中使用菜单,菜单创建好后,可用于实际应用程序中,也就是用菜单将编制好的应用程序有机地组织起来。形成一个界面友好的应用程序。1.为菜单或菜单项指定任务(1)为菜单项指定一个命令该命令可以是任何有效的VFP命令,包括对程序和过程的调用。过程应该在“常规选项”对话框的“清理”选项中定义。为菜单指定命令应符合下列的语法格式:DO procname&procname是过程名称。例如,在图7-3的菜
13、单的查询子菜单中,在“结果”项选择“命令”项。在“选项”中输入下述语句:DO e:txtvfp60统计学生成绩.qpr该命令将已经建立“统计学生成绩”的查询功能加入菜单。,2023/11/5,20,(2)为菜单项指定一个过程,当为不含有子菜单的菜单或菜单项指定过程时,可在“结果”菜单框中,选择“过程”,单击“创建”按钮或“编辑”按钮,在打开的编辑窗口中输入过程代码。当为含有子菜单的菜单或菜单项指定过程时,应首先在“菜单级”框中选择要指定过程的菜单项。然后从“显示”菜单中选择“菜单选项”菜单项,显示“菜单选项”对话框,如图7-9所示。,图7-9 为含有子菜单的菜单指定过程,2023/11/5,2
14、1,(2)为菜单项指定一个过程(续),用下述方法之一可指定下一个过程:在“过程”框中编写或调用过程;单击“编辑”按钮,再单击“确定”按钮,打开独立的编辑窗口并编辑或调用过程。在图7-3中,为增加输入功能,可以在输入菜单添加下述过程语句:USE e:txtvfp60 xk.dbf EXCLUSIVEAppenduse,2023/11/5,22,2.添加初始化代码,菜单的初始化代码可包含:创建环境的代码定义内存变量的代码打开所需要文件的代码用PUSH MENU和POP MENU保存或恢复菜单系统的代码。向菜单系统添加初始化代码的方法是:(1)从“显示”菜单中选择“常规选项”(“常规选项”对话框如图
15、7-7所示)。(2)在“常规选项”对话框的“菜单代码”区域,选择“设置”复选框。(3)单击“确定”按钮,打开一个初始化代码编辑窗口。(4)在初始化代码编辑窗口输入适当的初始化代码。对所建的菜单,当多次执行时,会发出“表已打开”的错误,为此可以添加下述初始化代码:CLOSE ALL,2023/11/5,23,3.添加清理代码,菜单清理代码的作用是在菜单初次启用时启用菜单或菜单项,或在菜单使用过程中,根据用户的选择废止或启用菜单系统中的菜单或菜单项。菜单清理代码一般放在初始化代码及菜单定义代码后,菜单的指定任务过程代码之前。添加菜单清理代码的步骤是:在“常规选项”对话框的“菜单代码”区域选择“清理
16、”复选框。在打开的编辑窗口中输入清理代码。,2023/11/5,24,4.释放菜单,当应用程序结束时,菜单的使命也宣告完成。这时,需要释放菜单,以节约内存。释放菜单的命令为:RELEASE MENUS例如,在“退出”菜单中,输入如下过程语句:RELEASE MENUSSET SYSMENU TO DEFAULT最后完成的菜单设计器如图7-10所示。,图7-10 最后完成的菜单设计器画面,2023/11/5,25,4.释放菜单(续),完成菜单设计后,单击“菜单”菜单的“生成”命令,在“另存为”对话框中为新设计的菜单程序命名,单击“保存”按钮,在“生成菜单”对话框中单击“生成”按钮。菜单生成后,自
17、动生成两个文件:.mnx文件,用来保存菜单系统,该文件的作用是可以将其加入项目中并同其余模块连编成一个应用程序。.mpr文件,这个文件是生成的VFP菜单程序,用户可自行修改,并可将其加入.prg程序文件中。运行菜单程序,其执行结果如图7-11所示。,图7-11 已完成的菜单,2023/11/5,26,7.1.4 创建自定义工具栏,用户应用程序中有一些任务使用非常频繁,如果通过菜单系统选择执行,用户会感到不方便。VFP允许将这些高频率的重复任务定制在工具栏上,即一个任务增添一个按钮,以简化和加速任务的执行。本节主要介绍定制工具栏、定义工具栏类、在表单集中添加自定义工具栏等内容。值得注意的是,虽然
18、可以新建工具栏,但用户不能重置创建的工具栏按钮。,2023/11/5,27,1.定制Visual FoxPro工具栏,(1)制定VFP工具栏的步骤1)从“显示”菜单选择“工具栏”选项,出现“工具栏”对话框,如图7-12所示。2)选择要定制的工具栏使其显示在当前屏幕上,然后单击“定制”按钮,打开“定制工具栏”对话框,如图7-13所示。,图7-12“工具栏”对话框,图7-13“定制工具栏”对话框,2023/11/5,28,(1)制定VFP工具栏的步骤,3)选择“定制工具栏”对话框中的分类,然后将选定按钮拖动到制定工具栏上。例如,如果将“编辑”工具栏中的“剪切”和“复制”工具拖到“报表设计器”工具栏
19、上,则这两个工具就成为了“报表设计器”工具栏中的两个工具。4)单击“关闭”选项,关闭工具栏窗口,完成工具栏的定制。,2023/11/5,29,(2)创建自己的工具栏的步骤,1)从“显示”菜单中选择“工具栏”选项打开“工具栏”对话框。2)在“工具栏”对话框中单击“新建”按钮,出现如图7-14所示的“新工具栏”对话框。3)在“新工具栏”对话框中为工具栏命名,如“我的工具栏”。然后单击“确定”按钮,此时系统将打开“定制工具栏”对话框。4)选择“定制工具栏”对话框中的一个分类,然后拖动适当的按钮到新建的工具栏上。5)选择“定制工具栏”对话框的“关闭”选项,关闭工具栏窗口,完成新建工具栏。,图7-14“
20、新工具栏”对话框,2023/11/5,30,(3)删除创建的工具栏步骤,1)从“显示”菜单中选择“工具栏”打开“工具栏”对话框。2)在“工具栏”对话框选择要删除的工具栏。3)单击“删除”按钮。4)单击“确定”按钮以确定删除。,2023/11/5,31,2.定义工具栏类,定义一个自定义工具栏类的步骤如下:(1)从“文件”菜单中选择“新建”命令,在“新建”对话框中选定“类”,然后单击“新建文件”按钮。(2)在“类名”框中键入新类的名称。(3)从“派生于”框中选择Toolbar,以使用工具栏基类。(4)在“存储于”框中输入类库名,保存创建新类。此时“新建类”对话框画面如图7-15所示。,图7-15“
21、新建类”对话框,2023/11/5,32,2.定义工具栏类(续),(5)单击“确定”按钮,出现如图7-16所示的类设计器。(6)在该工具栏中放置三个控件,通过“布局”工具栏将它们调整至等宽和等高。最后通过属性窗口为控件对象设置属性和代码,其最终的设计结果如图7-17所示。(7)保存所设计的类,新建类命名为“新类.vcx”。,图7-16 类设计器,图7-17 设计好的工具栏,2023/11/5,33,3.在表单集中添加自定义工具栏,可在表单设计器中协调工具栏和表单。可以在表单中添加工具栏,让工具栏与表单中的各表单一起打开。步骤如下:(1)打开要使用上述工具栏类的表单集,如“学生花名册”表单集。再
22、从“表单控件”工具栏选择“查看类”,然后从其快捷菜单中选择“添加”命令。系统此时将打开“打开”对话框,从中选择刚创建的自定义工具栏的可视类库文件“新类.vcx”,并单击“打开”按钮,则“表单控件”工具栏将选定可视类库文件中的类图表所代替。(2)从“表单控件”工具栏中选择工具栏类。(3)在表单设计器单击,VFP将在表单上添加工具栏,如果尚未创建表单集,VFP将提示用户创建一个。,2023/11/5,34,3.在表单集中添加自定义工具栏(续),(4)为工具栏及其按钮定义操作,此时表单设计器画面中新添加一个TOOLBAR1工具栏。(5)运行表单,其结果如图7-18所示。可看到添加的工具栏随表单的打开
23、或关闭而打开或关闭。,图7-18 包含TOOLBAR1工具栏的表单运行画面,2023/11/5,35,7.2 定制和调测菜单系统,菜单系统的测试与调试定制菜单系统,2023/11/5,36,7.2.1 菜单系统的测试与调试,调试菜单一般有两个过程:在设计菜单时,可通过预览功能进一步完善菜单系统;在生成菜单程序后,可使用诊断工具进行调试。只要单击“预览”按钮即可在屏幕上预览整个菜单系统。该菜单可模拟执行,此方法前面已经讲述,本节重点介绍用诊断工具进行调试菜单系统的方法。在测试中发现菜单程序有错误后,可使用VFP的调试环境逐步找到错误,具体有如下几个步骤:跟踪代码挂起程序的执行查看存储的值。,20
24、23/11/5,37,1.启动调试器,调试器是用来调试VFP程序的工具,打开调试器的方法是从“工具”菜单中选择“调试器”。调试器如图7-19所示。,图7-19 调试器应用程序外观,2023/11/5,38,2.跟踪代码,跟踪代码可观察每一行代码的运行,同时检查所有的变量、属性和环境设置的值:(1)在调试器中打开菜单应用程序。从调试器的“文件”菜单中选择“打开”命令,可打开一个需要调试的菜单应用程序。图7-19的调试器中打开了“菜单3.mpr”的菜单程序。(2)在调试器中连续执行程序。从调试器的“调试”菜单中选择“执行”命令。菜单可连续执行。当遇到断点时程序会自动停止执行,并停在断点处。(3)在
25、调试器中单步执行程序。单击工具栏“单步”按钮。(4)定位修改错误代码。当发现错误时,进行修改的方法:从“调试”菜单中选择“定位修改”命令,将挂起执行程序然后打开代码编辑器,编辑器中的代码定位在“跟踪”窗口中光标所在位置的代码。,2023/11/5,39,3.挂起程序的执行,挂起程序实际上就是在程序的适当地方设置断点。根据要分析的代码错误的原因,有几种设置断点的方法:(1)在某行代码处设置断点。1)在“跟踪”窗口中,找到要设置断点的行。2)将光标放置在该代码行上。3)按F9键或者单击“调试器”工具栏上的“切换断点”按钮;或者双击该代码行左边的灰色区域。此时,该代码行左边的灰色区域中会显示一个实心
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 菜单 工具栏 数据 共享
链接地址:https://www.31ppt.com/p-6487511.html