*,第九章,菜单与报表设计,1,9.1.1 菜单的结构,Visual FoxPro支持两种类型的菜单:条形菜单一级菜单和弹出式菜单子菜单。它们都有一组菜单项选择项显示于屏幕供用户选择。用户选择其中的某个选项时都会有一定的动作。这个动作可以是下面3种情况中的一种:执行一条命令、执行一个过程或激活另一个菜单。,9.1 菜单设计概述,条形菜单,弹出式菜单,2,可以为每个菜单项选择项设置一个热键和快捷键。当菜单激活时,可以按菜单项的热键快速选择该菜单项。快捷键通常是Ctrl和另一个字符键组成的组合键。不管菜单激活与否,都可以通过快捷键选择相应的菜单项选择项。,常规的菜单系统一般是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。其中条形菜单作为主菜单,弹出式菜单作为子菜单。中选择一个条形菜单项选择项时,激活相应的弹出式菜单。,而快捷菜单一般由一个或一组上下级的弹出式菜单组成。,9.1.2 建立菜单系统的步骤,1规划与设计菜单系统。,2使用菜单设计器定义菜单标题、菜单项和子菜单。,3按实际要求为菜单系统指定任务。,4菜单建立好之后将生成一个以.mnx为扩展名的菜单文件和以.mnt为扩展名的菜单备注文件。然后再生成扩展名.mpr的菜单程序文件。,5运行生成的菜单程序文件。,3,9.1.3 快速菜单,在Visual FoxPro中,可以利用“菜单设计器来设计并生成下拉式菜单与快捷菜单。假设想从已有的Visual FoxPro菜单系统开始创立菜单,那么可以使用“快速菜单功能。,4,9.2.1 菜单设计器窗口,1.翻开菜单设计器窗口,无论建立菜单或者修改已有的菜单,都需要翻开菜单设计器窗口。有菜单方式和命令方式。,新建和修改菜单的命令格式为:,CREATE MENU,MODIFY MENU,9.2 下拉式菜单设计,5,2.菜单设计器窗口的组成,菜单项属性,菜单名称列:可定义访问键,结果列:,命令、填充名称、子菜单和过程4项,选项列:,可定义快捷键,显示状态栏信息等,插入栏按钮:提供系统菜单项,预览按钮:提供菜单模拟显示,9.2.2 菜单文件的建立与运行,定义菜单项:用菜单设计器定义。,保存菜单定义:文件菜单的保存用 Ctrl+W,生成一个以.mnx为扩展名的菜单文件和以.mnt为扩展名的菜单备注文件。,生成菜单程序:“菜单菜单的生成命令,生成扩展名.mpr的菜单程序文件。,运行菜单程序:例如 DO CD.MPR,6,快捷菜单是一种单击右键才出现的弹出式菜单,利用“快捷菜单设计器仅能生成快捷菜单的菜单本身,实现单击右键来弹出一个菜单的动作还需要编程。,例 建立一个具有“撤消和“剪贴板功能的快捷菜单,供浏览学生表时使用。当用户在浏览窗口单击鼠标右键时,即出现此快捷菜单。,9.3 快捷菜单设计,7,操作步骤如下:,1翻开快捷菜单设计器窗口,2插入系统菜单栏,3生成菜单程序:菜单文件名取lppcd.mnx和菜单备注文件lppcd.mnt中。在“生成菜单对话框中选择“生成按钮,就会生成菜单程序lppcd.mpr。,4编写调用程序,在命令窗口中输入:MODI COMM dylppcd命令,并在程序编辑窗口中输入如下代码:,CLEAR ALL,PUSH KEY CLEAR&去除以前设置过的功能键,ON KEY LABEL RIGHTMOUSE DO lppcd.mpr&设置鼠标右键为功能键,预置弹出式菜单,USE 学生,BROWSE,USE,PUSH KEY CLEAR,8,5行调用程序及快捷菜单程序,执行命令:DO dylppcd,屏幕上就会出现浏览窗口。选择任何数据后,单击右键随即弹出快捷菜单,便可进行撤消、剪切、复制、粘贴等操作。,9,9.4 报表设计,报表的布局,1、列报表:,表中每行一条记录,每条记录的输出字段在页面上按水平方向放置。,2、行报表:,表中每条记录输出字段在页面上垂直方向放成一列,3、一对多报表:,一对多报表就是输出父表中的一条记录,以及与其对应的子表中多条记录,4、多栏报表:,表中每条记录的输出字段页面上按垂直方向放成一列,同一个页面上有多列记录,记录按垂直方向多栏分布,5、标签:,标签是报表的一种,在每一页上可以打印出多列大小相同的卡片式的记录,10,9.4.1 利用报表向导设计报表,启动报表向导翻开“文件菜单中的“新建菜单项,在文件类型栏中选择“报表,然后单击“向导按钮。,9.4.2 利用快速报表设计报表,除了用报表向导创立报表外,我们还可以用“快速报表来建立简单的报表,这是一项省时的功能,只需在其中选择根本的报表组件,Visual FoxPro 就会根据选择的布局,自动建立简单的报表布局。,9.4.3 利用报表设计器设计报表,启动报表设计器方法如下:翻开“文件菜单中的“新建子菜单,在文件类型栏中选择“报表,然后单击“新建文件按钮。,直接使用命令 CREATE REPORT 也可启动报表设计器。,11,“报表设计器提供的是一个空白布局,从空白报表布局开始,可以设置报表数据源、设计报表的布局、添加报表的控件和设计数据分组等。,报表中的每个白色区域,称之为“带区,一共有九种带区。默认情况下,“报表设计器显示三个带区:页标头、细节和页注脚。,页标头带区:包含的信息在每份报表中只出现一次。一般来讲,出现在报表标头中的项包括报表标题、栏标题和当前日期。,细节带区:一般包含来自表中的一行或多行记录。,页注脚带区:包含出现在页面底部的一些信息如页码等等。,12,报表输出,1.页面设置,规划报表页面的外观。例如页边距,纸张类型和所需的布局。,2.预览报表,通过预览报表,不用打印就能看到它的页面外观。,3.打印输出,13,