您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第8、9章 菜单和报表设计
第8章菜单设计8.1菜单设计概述8.1.1菜单的结构VisualFoxPro支持两种类型的菜单:条形菜单(一级菜单)和弹出式菜单(子菜单)。它们都有一组菜单选项显示于屏幕供用户选择。用户选择其中的某个选项时都会有一定的动作。这个动作可以是3种情况中的一种:执行一条命令、执行一个过程或激活另一个菜单。8.1.2建立菜单系统的步骤创建菜单系统都需经过以下步骤:(1)规划与设计菜单系统。(2)建立菜单项和子菜单。(3)按实际要求为菜单系统指定任务。(4)利用已建立的菜单文件,生成扩展名为.mpr的菜单程序文件。(5)运行生成的菜单程序文件。8.1.3系统菜单的控制VisualFoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。选择条形菜单中的每一个菜单项都会激活一个弹出式菜单。在VisualFoxPro中,每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。通过SETSYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新设置系统菜单。命令格式是:SETSYSMENUON|OFF|AUTOMATIC|TO[〈弹出式菜单名表〉]|TO[〈条形菜单项名表〉]|TO[DEFAULT]|SAVE|NOSAVE8.2下拉式菜单设计8.2.1菜单设计器窗口1.打开菜单设计器窗口菜单方式:从“文件”菜单中选择“新建”菜单,打开“新建”对话框后,选择“菜单”单选按钮,然后单击“新建文件”按钮,选择“菜单”按钮,将进入菜单设计器窗口。用命令来建立或打开菜单,建立菜单的命令格式是:CREATEMENU〈菜单文件名〉打开和新建菜单的命令格式是:MODIFYMENU〈菜单文件名〉命令中的〈菜单文件名〉指菜单文件,其扩展名为.mnx,但允许缺省。若〈菜单文件名〉是新名字,则为建立菜单,否则为打开菜单。2.菜单设计器窗口的组成菜单设计器窗口左边是一个列表框,它的每一行可定义一个菜单项,包括菜单名称、结果和选项3列内容。菜单栏或子菜单各占菜单设计器窗口中的一页。窗口右边有一个组合框和4个按钮,其中的“菜单级”组合框用于从下级菜单页切换到上级菜单页,插入、插入栏、删除、预览等按钮分别用于插入菜单项、删除菜单项和菜单模拟显示。3.“显示”菜单菜单设计器窗口打开时,VisualFoxPro的“显示”菜单中会包含“常规选项”和“菜单选项”两个命令,这两个命令都配有对话框。它们与菜单设计器窗口相结合,可使菜单设计更加完善。8.2.2建立菜单文件1.定义菜单项:只要在“菜单名称”列下输入菜单项名字,在“结果”列下设置菜单项的对应操作,在“选项”列下定义菜单项的附加属性即可。2.保存菜单定义:菜单设计(无论新建或修改)的结果,应作为菜单定义保存在扩展名为.mnx的菜单文件和扩展名为.mnt的菜单备注文件中。8.2.3生成菜单程序菜单设计器窗口处于打开状态时,允许选择“菜单”菜单项中的“生成”命令来生成菜单程序。“生成菜单”对话框,有一个“输出文件”文本框,用来显示系统默认的菜单程序路径及程序名,用户可以直接击键修改,利用其右的对话按钮来选一个文件名,再选择对话框中的“生成”按钮就会生成菜单程序。8.2.4运行菜单程序生成的菜单程序文件也是一个程序文件,可以和程序文件.prg一样被运行。方法为:选择“程序”菜单中的“运行”菜单选项,然后选择相应的文件名。也可在命令窗口中输入命令:DO〈菜单程序文件名〉。[例8-1]在考生文件夹下有“员工管理”数据库,数据库中有“员工”和“职称”表,编写并运行符合下列要求的程序:设计一个名为mainmenu1的菜单,菜单中有“计算”和“退出”两个菜单项。程序运行时,单击“计算”菜单项应完成下列操作:在“员工”表中增加一新的字段:新工资N(10,2)。然后计算“员工”表的“新工资”字段,方法是根据“职称”表中相应职称的增加百分比来计算:新工资=工资*(1+增加百分比/100)。单击“退出”菜单项对应命令setsysmenutodefault,使之可以返回到系统菜单,程序终止运行。[例8-2]利用菜单设计器建立一个下拉式菜单,具体要求如下:(1)条形菜单包括学生管理(M)、编辑(B)、退出(R),它们的结果分别是:激活弹出式菜单mh、激活弹出式菜单bj、将系统菜单恢复为默认设置。(2)弹出式菜单mh菜单项包括:录入记录、修改记录、成绩查询,它们的快捷键分别为CTRL+L、CTRL+B、CTRL+S,它们的结果分别是执行程序文件l1.prg、l2.prg、表单文件biaodan21.scx。(3)弹出式菜单bj包括剪切、复制和粘贴三个选项,他们分别调用相应的系统标准功能。8.3“快速菜单”命令菜单设计器窗口一旦打开,系统菜单中就会增加一个名为“菜单”的菜单项。该菜单项共有6个命令,这里只介绍“快速菜单”命令。选择“快速菜单”命令后,一个与VisualFoxPro系统菜单一样的菜单会自动复制到菜单设计器窗口,供用户修改成符合自己需要的菜单。8.4为顶层表单添加菜单顶层表单的设计来实现,基本思路是:(1)首先建立一个下拉式菜单文件。设计菜单时,在“常规选项”中,选中“顶层表单”复选框,然后生成菜单程序文件。(2)创建一个表单,将表单的ShowWindow属性值设为2,使该表单成为顶层表单,然后在表单的Init事件代码中添加如下代码:DO〈菜单程序名〉WITHTHIS,.T.。其中〈菜单程序名〉指定被调用的菜单程序文件,其扩展名.mpr不能省略。[例8-3]为表单biaodan2.scx建立一个下拉式菜单。如图所示:其中“查询”菜单中仅有一个菜单项“查询选课”,其功能与表单中的“查询统计”命令按钮的功能相同,“退出”菜单项的功能与“退出”命令按钮的功能相同。8.5快捷菜单设计快捷菜单是一种单击鼠标右键才出现的弹出式菜单,利用“快捷菜单设计器”仅能生成快捷菜单的菜单本身,实现单击右键来弹出一个菜单的动作还需要编程。第9章报表设计8.1报表设计报表主要由两部分组成:数据源和报表布局。数据源是报表的数据来源。报表的数据源通常是数据库中的表或自由表,也可以是视图、查询或临时表。在进行报表设计前首先应打开报表的数据源。报表布局则定义报表打印格式,通常有列报表、行报表、一对多报表、多栏报表4种常规布局类型。8.1.1利用报表向导设计报表启动报表向导有以下4种常用方法:(1)打开项目管理器,选择“文档”选项卡中的“报表”项,单击“新建”按钮,在弹出“新建报表”对话框中,再单击“报表向导”按钮。(2)打开“文件”菜单中的“新建”菜单项,在文件类型栏中选择“报表”,然后单击“向导”按钮。(3)打开“工具”菜单中的“向导”子菜单,选择“报表”。。(4)直接单击工具栏上的“报表”图标,也可以启动报表向导。[例9-1]使用报表向导建立一个简单报表。要求选择学生表中所有字段,记录不分组,报表样式为简报式,列数为1,字段布局为列,方向为横向,排序字段为学号(升序);报表标题为学生基本情况表,报表文件名为report1。8.1.2利用快速报表设计报表除了用报表向导创建报表外,还可以用“快速报表”功能来建立简单的报表,这是一项省时的功能,只需在其中选择基本的报表组件,VisualFoxPro就会根据选择的布局,自动建立简单的报表布局。[例9-2]创建一个快速报表report2,报表中包含“课程”表中的所有字段。8.1.3利用报表设计器设计报表启动报表设计器有以下3种常用方法:(1)打开“项目管理器”,选择“文档”选项卡中的“报表”项,单击“新建”按钮,在弹出“新建报表”对话框中再单击“新建报表”按钮。(2)打开“文件”菜单中的“新建”子菜单,在文件类型栏中选择“报表”,然后单击“新建文件”按钮。(3)直接使用命令CREATEREPORT也可启动报表设计器。报表设计器提供的是一个空白布局,从空白报表布局开始,可以设置报表数据源、设计报表的布局、添加报表的控件和设计数据分组等。1.设置报表数据源:报表总是与一定的数据源相联系,因此在设计报表时,首先要确定报表的数据源。如果一个报表总是使用相同的数据源,就可以把它添加到报表的数据环境中。2.设计报表的布局:创建报表之前,应该确定所需报表的常规格式。报表可能基于单表,也可能基于多表。另外还可以创建特殊种类的报表。3.报表设计器窗口:在报表设计器中可以添加各种控件,如表头、表尾、页标题、字段、各种线条及OLE控件等。4.报表工具栏。5.报表控件的使用:在报表设计器中,为报表新设置的带区是空白的,通过在报表中添加控件来定义在页面上显示的数据项,可以安排所要输出的内容。6.报表变量的使用:在数据库应用系统中,变量的应用非常广泛,它能够给应用程序带来极大灵活性。在报表中可以使用变量,以灵活设计各种形式的报表。特别是总计中,往往是用变量来计算要求得到的值然后输出。使用报表变量,可以计算各种值,并可利用这些值来计算其他相关值。8.1.4报表数据分组在设计报表时,有时所要报表的数据是成组出现的,需要以组为单位对报表进行处理。组的分隔是根据分组表达式进行的,这个表达式通常由一个以上的表字段生成,有时也可以相当复杂。分组之后,报表布局就有了组标头和组注脚带区,可以向其中添加控件。1.添加单个数据分组2.添加多个数据分组[例9-3]对学生表建立报表report3,具体要求如下:(1)报表的内容(细节带区)是学生表中的学号、姓名、性别、入学成绩的信息;(2)增加数据分组,分组表达式是性别字段,组标头带区的名称是“性别”,组注脚带区内容是该组性别的“入学成绩”总和;(3)增加标题带区,标题是“入学成绩分组汇总表(按性别)”,要求3号字体;(4)增加总结带区,该带区的内容是所有学生的“入学成绩”总和;(5)在页脚处设置当前的日期。8.1.5报表输出设计报表的最终目的是要按照一定的格式输出符合要求的数据。报表文件的扩展名为.frx,该文件存储报表设计的详细说明。每个报表文件还带有扩展名为.frt的报表文件。报表输出时,应该先进行页面设置,通过预览报表调整版面效果,最后再打印输出到纸介质上。预览报表命令:reportform报表文件名preview1.页面设置:规划报表时,通常会考虑页面的外观,例如页边距,纸张类型和所需的布局。在“页面设置”对话框中可以设置报表的左边距并为多列报表设置列宽和列间距,设置纸张大小和方向。2.预览报表:通过预览报表,不用打印就能看到它的页面外观。3.打印输出:如果使用预览报表,在屏幕上获得最终符合设计要求的页面后,就要打印出来。8.2标签设计标签是一种特殊的报表,它的创建、修改方法与报表基本相同。和创建报表一样,可以使用标签向导创建标签,也可以直接使用标签设计器创建标签。无论使用哪种方法来创建标签,都必须指明使用的标签类型,它确定了标签设计器中的“细节”尺寸。第十章应用程序的开发和生成1、连编应用程序•文件的“排除”•文件的“包含”•连编项目的命令buildproject项目名2、主程序设计1、初始化环境2、显示初始的用户界面3、控制事件循环4、组织主程序文件•要能控制执行clearevents命令(退出)系统•应用程序退出时,恢复环境。结束TheEnd
本文标题:第8、9章 菜单和报表设计
链接地址:https://www.777doc.com/doc-6032029 .html