VFP第9章++菜单设计
VFP第9章 菜单与报表设计_OK
2021/6/30
1
9.1 菜单设计概述
9.1.1 菜单的结构 Visual FoxPro支持两种类型的菜单:条形菜单(一级菜单)和
弹出式菜单(子菜单)。它们都有一组菜单选项显示于屏幕 供用户选择。用户选择其中的某个选项时都会有一定的动作。 这个动作可以是下面3种情况中的一种:执行一条命令、执 行一个过程或激活另一个菜单。
条形菜单
弹出式菜单
2021/6/30
2
可以为每个菜单选项设置一个热键和快捷键。当菜单激活时, 可以按菜单项的热键快速选择该菜单项。快捷键通常是Ctrl 和另一个字符键组成的组合键。不管菜单激活与否,都可以 通过快捷键选择相应的菜单选项。
常规的菜单系统一般是一个下拉式菜单,由一个条形菜单和一 组弹出式菜单组成。其中条形菜单作为主菜单,弹出式菜单 作为子菜单。当选择一个条形菜单选项时,激活相应的弹出 式菜单。
任何数据后,单击右键随即弹出快捷菜单,便可进行撤 消、剪切、复制、粘贴等操作。
2021/6/30
9
9.4 报表设计
报表的布局 1、列报表:表中每行一条记录,每条记录的输出字段在页面上 按水平方向放置。 2、行报表:表中每条记录输出字段在页面上垂直方向放成一列 3、一对多报表:一对多报表就是输出父表中的一条记录,以及 与其对应的子表中多条记录 4、多栏报表:表中每条记录的输出字段页面上按垂直方向放成 一列,同一个页面上有多列记录,记录按垂直方向多栏分布 5、标签:标签是报表的一种,在每一页上可以打印出多列大小 相同的卡片式的记录
2021/6/30
10
9.4.1 利用报表向导设计报表
启动报表向导打开“文件”菜单中的“新建”菜单项,
在文件类型栏中选择“报表”,然后单击“向导”
快捷菜单设计_Visual FoxPro 程序设计_[共2页]
171
图9-17 顶层表单属性设置 图9-18 顶层表单Init 事件
图9-19 表单顶层菜单运行界面
9.3 快捷菜单设计
快捷菜单一般从属于某个界面对象,它列出了与该对象相关的操作命令,用鼠标右键单击对象时弹出。
利用VFP 提供的快捷菜单设计器可以方便地定义和设计快捷菜单。
建立快捷菜单的步骤如下。
① 单击“文件”菜单下的“新建”命令或常用工具栏上的“新建”按钮,在出现的“新建”对话框中,选择文件类型为“菜单”,然后单击“新建文件”按钮。
在弹出“新建菜单”对话框中单击“快捷菜单”按钮,进入快捷菜单设计器。
② 用与设计下拉式菜单相似的方法,在快捷菜单设计器窗口中设计快捷菜单,生成菜单程序文件。
③ 打开表单,选定需要添加快捷菜单的对象。
④ 在选定对象的RightClick 事件代码中添加调用快捷菜单程序的命令:
DO <快捷菜单程序名.MPR>
其中,文件的扩展名.MPR 不能省略。
⑤ 运行表单,右键单击表单对象,即会弹出快捷菜单。
【例9-3】 为表单biaodan1建立一个快捷菜单kjcd ,菜单包括选项:日期、时间、变大和变小,时间与变大之间有分隔线,如图9-20所示。
选中日期或时间时,表单标题将变成当前日期或时间。
选中变大或变小选项时,表单大小将缩放20%。
操作步骤如下。
① 打开“快捷菜单设计器”窗口。
第9章 vfp 菜单与工具栏
命令
9.1 规划与设计菜单
9.1.3 创建菜单
菜单的提示选项 单击“选项”按钮,出现“提示选项”对话框。 单击“选项”按钮,出现“提示选项”对话框。在该对话 框中可以设置快捷键和跳过条件等。 框中可以设置快捷键和跳过条件等。
设置快捷键, 设置快捷键,按下 要定义的键
“跳过”的条件是一个逻 跳过” 辑表达式,当条件为真时, 辑表达式,当条件为真时, 则菜单废止,外观为灰色。 则菜单废止,外观为灰色。
9.1 规划与设计菜单
9.1.2 创建菜单概述
菜单有两种: 菜单有两种:一般菜单和快捷菜单 如何创建菜单? 如何创建菜单? 一般使用菜单设计器和快捷菜单设计器 如何打开“新建菜单”对话框? 如何打开“新建菜单”对话框? 文件” 新建” 菜单” “文件” →“新建” →“菜单”
“新建菜单”对话框 新建菜单”
菜单栏级
9.1 规划与设计菜单
9.1.3
创建菜单
创建子菜单与菜单分组 结果”列选择“子菜单” 然后单击“创建”按钮。 在“结果”列选择“子菜单”,然后单击“创建”按钮。 设置菜单热键或访问键使用( ),菜单分组线使用 菜单分组线使用( 设置菜单热键或访问键使用(\<),菜单分组线使用(\-)
菜单热键 菜Hale Waihona Puke 分组线9.1 规划与设计菜单
“菜单选项”主要用于为当前指定的菜单级设置过程代码。 菜单选项”主要用于为当前指定的菜单级设置过程代码。
单击“编辑”按钮, 单击“编辑”按钮,即可 输入过程代码
注意: 注意:若在菜单栏或菜单项中 未设置任务,而在“常规选项” 未设置任务,而在“常规选项” 和“菜单选项”中均创建了过 菜单选项” 程代码,则忽略“常规选项” 程代码,则忽略“常规选项” 中的代码,执行“菜单选项” 中的代码,执行“菜单选项” 中创建的代码。 中创建的代码。
VFP第9章菜单的创建与使用
9.1.5 配置VFP系统菜单
SET SYSMENU TO:关闭VFP主菜单栏 SET SYSMENT ON | OFF | AUTOMATIC | TO [菜单项] | TO [菜单标题列表] | TO [DEFAULT] | SAVE | NOSAVE
9.1.6 创建快捷菜单
快捷菜单是附加在表单或表单控件上 的通过鼠标右键访问和使用的一种菜单 项目管理器—菜单—新建—快捷菜单 其余与一般菜单方法相同 将快捷菜单附加到控件上的步骤: 在“表单设计器”窗口中选择控件 在属性窗口中选:“RightClick Event” 在代码窗口中键入:DO 快捷菜单名.mpr
5.启用和废止菜单项 在“在提示选项”对话框中的“跳过” 文本框中,输入一逻辑表达式,若为.F., 则启用菜单项;若为.T.,则废止菜单项。 6.创建子菜单(每个菜单项都可创建) 步骤: 选择要创建子菜单的菜单项 “结果”,选“子菜单” 则“创建”按钮出项,若以有子菜单,则 是“编辑” 单击“创建”或“编辑”,出现新菜单的 列表 键入新建的各菜单项
1.预览菜单 在设计过程中,可随时预览,预览时, 菜单项所赋予的功能并不被执行,若执 行则需生成菜单程序并执行。 2.生成和执行菜单程序 用设计其设计的菜单被保存为.mnx文 件,并不能直接执行,要运行,则先将 菜单生成.mpr文件。 方法:菜单—生成—保存
运行菜单:
do 菜单名.mpr 程序—运行 注:若菜单修改过,则必须重新生成菜 单程序(.mpr),否则修改无效。 运行菜单后,若要恢复VFP系统的默 认菜单:SET SYSMENU TO DEFAULT
第9章 菜单
菜单是一个应用系统的功能列表,是用 户界面的一个重要组成部分,是用户评价应 用系统是否方便、简捷的一个重要因素。
菜单设计-VFP程序设计
提供一定程度的自定义选项,允许用户根据 个人习惯调整菜单布局。
如何实现动态菜单
实时更新
根据用户当前的操作或状态,动态地更新菜单项,提 供更加个性化的体验。
条件显示
根据用户的权限或特定条件,显示或隐藏某些菜单项。
动态添加和删除
允许在运行时动态添加或删除菜单项,以适应程序的 不同阶段或不同配置。
提高工作效率
一个清晰、简洁的菜单结构可以帮助用户更快地找到所需的功能,从而 提高他们的工作效率。
03
降低学习成本
良好的菜单设计可以降低用户学习新应用程序的难度,使新手用户更容
易上手。
菜单设计的基本原则
直观性
菜单项应清晰明了,易于理解 。避免使用过于专业或晦涩难
懂的术语。
分类合理
将相关功能归类到同一级菜单 下,使菜单结构更加清晰。
05 VFP程序设计中菜单设计 的常见问题与解决方案
问题一:如何处理复杂的菜单结构
总结词
合理规划菜单层次和布局
详细描述
通过动态加载技术,可以根据用户的需求和操作系统的不 同,动态地加载不同的菜单项和功能。这样可以减少菜单 的复杂性,提高用户的操作效率。
详细描述
对于复杂的菜单结构,可以采用多级菜单和子菜单来组织 ,合理规划菜单的层次和布局,使其更加清晰易用。同时 ,可以使用图标、颜色等视觉元素来区分不同级别的菜单 项,提高用户的使用体验。
04 VFP程序设计的菜单设计 实例
实例一:基础菜单设计
总结词
简单明了,易于使用
详细描述
基础菜单设计通常采用下拉菜单形式,列出程序的主要功能选项。菜单项简洁 明了,用户可以快速找到所需功能并执行。这种设计适用于功能相对简单、用 户易于理解的应用程序。
Visual FoxPro 9.0程序设计基础 第9章 菜单程序设计
2016/1/15
第九章 菜单程序设
主讲:
南京信息工程大学计算机与软件学院 刘生 14
9.2 普通菜单的创建
若要使用“新建”命令创建菜单,应按下列步骤操作:
(1)从 “文件”菜单中选择“新建”命令,系统弹 出“新建”对话框。
(2)在“文件类型”区域中选择“菜单”单选项。
(3)单击“新建文件”按钮,系统弹出“新建菜单” 对话框。
菜单栏(Menu Bar) 菜单栏位于应用程序窗口的最上方。当用户选 择菜单栏中的某一个菜单时,系统将打开一个下 拉菜单,供用户选择其中的命令。
2016/1/15
第九章 菜单程序设
主讲:
南京信息工程大学计算机与软件学院 刘生 8
9.1概述
菜单项(Menu Item)
菜单项是下拉菜单中的一条命令,因此通常将菜单项 称为命令。
2016/1/15
第九章 菜单程序设
主讲:
南京信息工程大学计算机与软件学院 刘生 22
9.2.4 运行菜单
菜单作为VFP应用程序的组成部分,其生成、 修改、运行应纳入应用程序的项目管理 器之下。其运行有以下两种方式。 1.菜单作为项目主文件 主文件是项目中所有文件最先被执行的文 件。如果菜单被设为主文件,则菜单自动被执行, 无须其他设置。 2.菜单被命令程序(prg)或表单(scx)调用
“命令”选项:用于在其后显示的文本框中输入一条 命令。该命令与创建的菜单项一一对应。
2016/1/15
第九章 菜单程序设
主讲:
南京信息工程大学计算机与软件学院 刘生 17源自9.2.1“菜单设计器”的使用
“填充名称”选项:用于在其后显示的文本框中为菜单项命名, 该名称用来供其它程序调用。缺省情况下,系统将自动为每一个菜 单项命名。
第九章菜单设计与应用
典型的菜单系统一般是一个下拉式菜单, 由一个条形菜单和一组弹出式菜单组成。其 中条形菜单作为主菜单,弹出式菜单作为子 菜单。当选择一个条形菜单选项时,激活相 应的弹出式菜单。 快捷菜单一般由一个或一组上下级的弹 出式菜单组成。 二、菜单的使用 无论是哪种类型的菜单,当选择其中某个 选项时都会有一定的动作。这个动作可以是下 面三种情况中的一种:执行一条命令、执行一 个过程和激活另一个菜单。
(1)“菜单名称”列 ①菜单名称:用来输入菜单项的名称,用 于显示。 ②访问键:VFP允许用户在菜单项名称中 为该菜单项定义访问键。方法是在要定义 的字符之前加上“\<”。 (2)结果列 该列用于指定当用户选择该菜单项时的 动作。
①命令:为菜单项定义一条命令,菜单项 的动作即是执行用户定义的命令。 ②过程:为菜单项定义一个过程,菜单项 的动作即是执行用户定义的过程。定义时, 选择了过程,组合框右侧会出现创建或编 辑按钮(建立时显示创建,修改时显示编 辑),单击相应按钮在出现的编辑窗口编 辑内容。 ③子菜单:定义当前菜单项的子菜单。 定义时,选择了子菜单后,组合框右侧会
三、生成菜单程序 单击“文件”“保存”,菜单定义被保 存在 扩展名为.mnx的文件,同时生成扩展.mnt 的文件。 单击“菜单”“生成”指定生成的菜单 程 序文件名及保存位置 四、运行菜单程序
说明:菜单程序文件的扩展名不能省略 (2)单击“程序””运行” 例9.1 利用菜单设计器建立一个菜单TJ_MENU3, 效果如图9.5所示。要求如下: (1)主菜单(条形菜单)的菜单项包括“统计”的功能是统计各门课程的平均成绩, 统计结果包含“课程名”和“平均成绩”两 个字段,并将统计结果按课程名升序保存在 表NEW_TABLE32中。
①快捷键的设置:“键标签”文本框用于设置 菜单项的快捷键。快捷键是菜单项右面标识 的组合键。 定义方法:单击键标签文本框按下要定义 的组合键。快捷键通常是Ctrl或Alt键与另一个 字符键的组合。 取消方法:单击键标签文本框按空格键。 ②设定浅色菜单:跳过文本框用于设置菜单或 菜单项的跳过条件,用户可在其中键入条件 表达式。菜单运行时,表达式值为.T.时菜单 项将以浅色显示,不可选用。
VFP菜单设计(精)
菜单系统的规划
根据系统要完成的功能,将各命令分组,定义组名
为主菜单项名。对于要执行的命令,用菜单项来实
现,对于一个组内要执行的菜单较多时,可采用同 类的功能定义子菜单的方法进行进一步的分组。
VFP菜单设计
菜单设计器的使用
菜单设计器中有菜单名称、结果、选项三个输入部分。
菜单名称项用来输入菜单及子菜单的名称。
VFP应用程序创建&发布
主程序(入口程序)的设计
系统的主程序通常用来对VFP工作环境进行设置。比 如日期格式、删除记录处理方式、默认文件夹的指定、 帮助文件的指向、字串比较方式等,在主程序调用表 单语句后,还要设置事件循环触发语句 Read events。 为去除程序运行的VFP系统背景,应在当前文件夹中 添加一个Config.fpw 文件,此文件只需一句:
错误”。连编完成后即可生成.exe文件,该文件包含了除数据
文件、类文件、其它文件以外的所有文件,在程序发布时这些 文件应不包含于发布包中。
VFP应用程序创建&发布
应用程序的发布
可以采用安装向导完成应用程序的发布工作,安装 向导将你要发布的程序打包,生成安装文件,并根 据你的要求生成以软盘、光盘、网络等为发布介质 的发布文件。
如果要在一级菜单中添加分隔符,可添加一菜单项,
菜单名用 “\-” 即可。
VFP菜单设计
菜单文件的生成
在退出菜单设计器时,系统将提示是否保存正在设计的菜单,如果 保存,则生成菜单设计文件,后缀名为MNT和MNX。但这两个文 件并不是可调用的菜单文件。 在系统主菜单上选择“菜单”菜单项上的生成命令,不但可以生成 前述的两个文件,还同时生成菜单文件,该文件的后缀名为MPR。 如生成的菜单是在顶层表单中使用的话,则在生成菜单文件前还应 执行主菜单上的“显示”-常规选项命令,在弹出的对话框中选中 “顶层表单”复选框,才能将该菜单文件运用于顶层表单。
第9章 VisualFoxPro菜单设计
2.运行菜单
在【菜单设计器】打开的状态下,执行【程序
】【运行】菜单命令,系统自动弹出【运行】 对话框。选择【学生成绩管理 .MPR】文件后, 单击【运行】按钮,即可运行该菜单程序。
此外,Visual FoxPro 还有更多其它的优秀特点,如: 1 2.可视化操作界面,强劲的面向对象编程技术 3.增强的项目与数据库管理,操作更简便 4.扩大了对SQL语言的支持 5.支持网络与Internet应用 6.可以升级早期版本 7.通过OLE技术,实现与Word、Excel等应用程序的集成 8.快速创建应用程序
VisualFoxPro菜单设计
第9章 VisualFoxPro菜单设计
任务1
菜单系统
任务2
创建菜单
任务3
生成和运行菜单
任务1 菜单系统
一个应用程序中,菜单系统是其必不可少的一
部分,每个菜单项都对应于一个命令或者程序 然后实现某种特定的功能。菜单系统通常包括 主菜单和快捷菜单两类。主菜单通常位于标题 栏的下方,快捷菜单通常是右键单击鼠标弹出 的快捷菜单。菜单文件的扩展名为 .mnx ,同时, 还生成一个扩展名为.mnt的菜单备注文件。
( 3 )单击【菜单级】下拉列表,选择【菜单栏 】选项。然后,单击【菜单设计器】对话框中的 【编辑】菜单后的按钮 , 系统进入到该菜单项 的下一级菜单编辑对话框。
4.设置快捷键
(1)在【菜单设计器】对话框中,选择【退出】菜单项,然后,单 击其后的【选项】图标按钮,系统将自动弹出【提示选项】对话 框,如图所示。
本章小结
本章从菜单系统介绍、创建菜单、生成和运行 菜单等方面,对VFP的菜单系统进行了比较详 细的讲解,使读者能够较好地掌握菜单设计的 相关内容。
常见的菜单形式如下图所示
第9章 菜单设计
表9.1 菜单系统实例
主菜单 菜单项 新建 打开 保存 文件 关闭 子菜单 任务 新建文件 打开文件 保存文件 关闭文件
页面设置
退出 乘法口诀 程序实 例 打印 图案 杨辉三角形 ...... ...... 退出并返回vfp
退出并返回Windows
设置打印页面
退出系统返回VFP
退出系统返回Windows
3.设置访问键和快捷键(1)
访问键(access key):指与某一个菜单项相 对应的键盘键,这些键符在菜单上加有下划线, 如“文件(F)”。同时按下ALT键和访问键可以激 活菜单,例如,用ALT+F组合键可以激活“文件” 菜单。 为菜单项设置访问键的步骤如下: (1)在菜单设计器窗口中,选择要设置访问 键的菜单项。 (2)在“菜单名称”框中的菜单项名称后面 添加半角字符“(\<*)”,其中的*代表访问键的 字母。
了解了菜单设计器的基本使用方法后,接下来 的重点是如何使用菜单设计器来设计自己的菜单 系统。我们以具体菜单系统实例的设计来介绍菜 单系统的具体设计方法与步骤。 例9.1 设计如表9.1所示的菜单系统。设计过程 如下: 1.创建各菜单项 2.菜单项分组 3.设置访问键和快捷键 4.生成菜单程序 5.保存和运行菜单程序
1 菜单系统的设计步骤(2)
(4)生成菜单:菜单设计完后必须保存为菜
单文件,VFP菜单文件的扩展名为.mnx,该文 件是一个表,用以保存此菜单系统的所有信 息。菜单文件并不能运行,因此,菜单在运 行之前必须生成菜单程序,VFP菜单程序文件 的扩展名为.mpr,菜单程序文件包含了输出 的菜单程序。 (5)运行并调试菜单系统:通过运行指定的 扩展名为.mpr的菜单程序,对该菜单程序进 行测试性的操作,以保证其中的菜单程序正 确。
VFP实用第9章 菜单设计与应用
9.1.2 系统菜单命令
格式3:SET SYSMENU TO DEFAULT 功能:将系统菜单恢复为默认设置。 格式4:SET SYSMENU TO 功能:不带参数的该命令用来关闭系统菜单。
返回
7
9.2 下拉式菜单设计
菜单设计就是按照用户所要执行的任务组织菜单系统。 包括:确定条形主菜单中每个菜单项的标题、各弹出式
间插入分隔线。 灰色的菜单项为不可用状态。
返回
5
9.1.2 系统菜单命令
SET SYSMENU命令设置在程序运行期间允许或者禁止访问系统菜单。 格式1:SET SYSMENU ON|OFF 说明:ON:允许访问系统菜单。 OFF:禁止访问系统菜单。 格式2:SET SYSMENU TO 条形菜单选项表 功能:重新设置系统菜单,以内部名字列出菜单选项。 例:SET SYSMENU TO _MSM_FILE,_MSM_EDIT,_MSM_WINDO 系统菜单只保留“文件”、“编辑”和“窗口”3个菜单选项。
选项名称 文件 编辑 显示 工具
内部名字 _MSM_FILE _MSM_EDIT _MSM_VIEW _MSM_TOOLS
选项名称 程序 窗口 帮助
系统菜单本身的内部名字为_MSYSMENU。
内部名字 _MSM_PROG _MSM_WINDO _MSM_SYSTM
3
9.1.1 系统菜单结构
条形主菜单中的每一个菜单项都对应一个弹出式子菜单。 子菜单由子菜单项组成,每个子菜单项可以执行一条命令
报表预览 是按用户的需要,生成各种报表。 包括“学生基本情况表”、“教师任课一览表”和“学生成绩一 览表”三项子功能,这3项即构成了“报表预览”子菜单。
VFP数据库系统Visual FoxPro面向对象的程序设计
第九章面向对象的程序设计面向对象的程序设计(Object Oriented Programming,简称OOP)与编程技术不同于标准的结构化程序设计。
在进行面向对象程序设计时,首先要考虑为实现某种目标而创建的具有某种功能且操作使用便捷的控件、对象和控件的使用参数及外观,以及为实现具体功能应选用的事件及数据环境并设计好相应的方法程序模块。
9.1 VFP中的对象9.1.1 面向对象的基本概念对象是由数据及可以施加在这些数据上的可执行操作所构成的统一体,是代码和数据的组合,它可以作为一个完整的、独立的单位模块来处理。
面向对象程序设计方法是一种以数据和信息为主线,将数据和处理相结合的方法。
那么什么是对象呢?对象就是客观世界中事物的抽象,是反映客观事物属性及行为特征的可运作实体。
在OOP中,将对象作为一个变量来处理,对象包括数据和用来处理这些数据的方法和工具。
对象是构成程序的基本单位和运行实体,是应用程序的组装模块。
一般来说,对象=属性+控件+事件+数据环境+方法程序,是一种模块的组合体。
控件是显示数据和执行操作的基本工具对象;属性是对象所具有的物理性质及其特性标识符;事件是对象所能识别和响应的某些行为和操作;数据环境是对象运行生存所依据的数据信息范围;方法程序是对象在事件触发时的行为和动作。
9.1.2 对象的属性、事件和方法对象(Object)在现实生活中是很常见的(如:一个人是一个对象,一台Pc即是一个对象。
从可视化编程的角度来看,对象是一个具有属性(数据)和方法(行为方式)的实体。
一个对象建立之后,其操作就通过与该对象有关的属性、事件和方法来描述。
1. 对象的属性属性(Property)是指对象的一项描述内容,用于描述对象的一个特性。
不同的对象具有不同的属性,而每个对象又都由若干属性来描述。
属性是对象的特征,是对象某一方面的行为参数,它描述了一个对象,描述了对象的状态或某一方面的行为功能,说明了对象可以完成的工作,但是还没有说明如何去完成任务。
VisualFoxPro程序设计基础教程菜单设计器与报表设计器
9.1 菜单程序设计与菜单设计器(Menu Designer) 9.2 报表程序设计与报表设计器(Report Designer)
9.1 菜单程序设计与菜单设计器(Menu Designer)
9.1.1 创建菜单、菜单项和子菜单
1、创建菜单:文件—新建—菜单—新建菜单 (1)菜单、(2)快速菜单 都进入菜单设计器
1、创建菜单:文件—新建—菜单—新建菜单 (1)菜单、(2)快速菜单 都进入菜单设计器
2、创建菜单项:在“菜单名称”栏中加入菜单标题。
3、创建子菜单:在“结果”栏中选择“子菜单”,并单击“创建” 按钮,进入第二级菜单,可如此创建多级子菜单。如: “修改”菜 单项中创建子菜单。
4、菜单项分组:在“提示”栏中,键入“\-”,创建分隔线。拖动
保存: 输入文件名,以.FRX扩展名存贮。
修改:(1)在主菜单文件—打开—选择报表文件名—报表设计 器进行修改。
(2)命令窗口输入:MODIFY REPOORT [<文件名>] 进入报表设计器。
执行:(1) 在主菜单文件—程序—运行—选择报表文件名—执行。 (2)命令窗口输入:REPORT FORM [<文件名>][TO PRINT] 执行。
1.使用报表向导(Report Wizard)
2.创建快速报表
3.新建报表 1、令格式:Create Report [<文件名>] 2、在主菜单文件—新建—报表—>新建文件, 进入报表设计器:
3、定制布局 报表具有数据源和布局两个基本部分。
数据源——数据(库)表。(在数据环境中添加) 布局——定义报表打印格式。报表设计器提供了报表控件 工具栏、布局工具栏击菜单设计器中的“预览”(Preview)按钮
09VisualFoxPro菜单设计
第九章Visual FoxPro菜单设计9. 1 Visual FoxPro系统菜单系统菜单是Visual FoxPro内含的功能菜单,利用系统菜单是用户挪用Visual FoxPro系统功能的一种方式或途径。
而了解Visual FoxPro系统菜单的结构、特点和行为,那么是设计用户自己的菜单系统的基础。
菜单结构(重点)Visual FoxPro支持两种类型的菜单:条形菜单和弹出式菜单。
每一个条形菜单都有一个内部名字和一组菜单项选择项,每一个菜单项选择项都有一个名称(题目)和内部名字。
每一个弹出式菜单也有一个内部名字和一个菜单项选择项,每一个菜单项选择项那么有一个名称(题目)和选项序号。
菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内部名字或选项序号那么用于在代码中引用。
每一个菜单项选择项都能够有选择地设置一个热键和一个快捷键。
热键一般是一个字符,当菜单激活时,能够按菜单项的热键快速选择该菜单项。
快捷键一般是Ctrl键和另一个字符键组成的组合键。
不管菜单是不是激活,都能够通过快捷键选择相应的菜单项选择项。
不管是哪一种类型的菜单,被选择其中某个选项时都会有必然的动作。
那个动作能够是下面三种情形中的一种:执行命令、执行一个进程和激活另一个菜单。
典型的菜单系统一样是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。
其中条形菜单作为主菜单,弹出式菜单作为子菜单。
被选择一个条形菜单项选择项时,激活相应的弹出式菜单。
快捷菜单一样由一个或一组上下级的弹出式菜单组成。
Visual FoxPro系统菜单Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。
条形菜单中常见选项的名称及内部名字如表所示。
条形菜单本身的内部名字为_MSYSMENU,也可看做是整个菜单系统的名字。
表主菜单(_MSYSMENU)常见选项选择条形菜单中的每一个菜单项都会激活一个弹出式菜单,各弹出式菜单的内部名字如表所示。
FoxPro菜单设计
第9章 菜单设计
报表设计
一、VFP6报表简介 VFP6提供了多种生成报表的方法。 1、可利用报表向导生成报表 2、通过报表设计器生成报表 3、通过程序生成报表 VFP6中的报表可分为: 1、简单报表; 2、分组/总计报表; 3、一对多报表; 4、列报表;(每行一个记录,即记录沿水平方向放置)
第9章 菜单设计
第9章 菜单设计
菜单设计器主要由以下几个部分组成: 1、菜单设计器的列表框 ①“菜单名称”栏;定义菜单名称,“\<”加一个字母可定义热 键,如“\<F”,即按ALT+F可激活该菜单。 ② “结果”栏;有四项即:命令、填充名称、子菜单、过程; ③“功能区”;没有标题,显示内容与“结果”栏中的选择而 变化; ④“选项”栏;可显示当前菜单项的相关设置选项。
VFP6提供了专用的菜单设计器可使我们很容易地设计出各种菜单。 调出菜单设计器有三种方式: 1、利用菜单命令:文件/新建,然后选中菜单,即可。 2、使用项目管理器中的“其它”选项卡中新建菜单。 3、使用命令方式: 格式: CREATE MENU [文件名][nowait][save][windows窗口名] NOWAIT:本程序中使用。即打开菜单设计器后,继续执行程序。 SAVE:激活另一窗口时,菜单设计器保持打开,如不带SAVE, 则菜单设计器自动关闭 WINDOWS:指定一个窗口,菜单设计器采用该窗口的特性。
二、报表的生成过程: 1、利用报表向导创建报表; 2、利用报表设计器创建报表: • 打开报表设计器;(新建文件时选报表) • 向报表中添加数据源;(显示/数报环境) • 设置分组字段(段先建立索引) • 安排报表布局: 报表设计器中有许多带区,如:细节带区、组带区、 报表注脚带区、报表表头带区、总结带区等。报表带区是 指报表中的一块区域,可以包含文件、来自表字段的数据、 表达式的计算值、用户自定义的函数以及图片、线条和边 框等。
数据库应用 VFP 6.0第9章 菜单程序设计
格式:DO <文件名.mpr> &&后缀名不可省略 5、正确退出菜单的常用命令
1)恢复VFP系统菜单标准配置 格式:SET SYSMENU NOSAVE 2)恢复VFP主窗口命令 格式:MODIFY WINDOW SCREEN 3)恢复VFP系统菜单命令 格式:SET SYSMENU TO DEFAULT 4)激活命令窗口命令 格式:ACTIVATE WINDOW COMMAND
Visual FoxPro程序设计教程
教师:郑州 E-mail: guan_zz@
第9章 菜单程序设计
菜单和工具栏在应用程序中是必不可少的。开发 者通过菜单将应用程序的功能、内容有条理地组织起 来展现给用户使用。开发者通过工具栏为用户提供快 捷、简单、方便的使用工具。菜单和工具栏是应用程 序与用户最直接交互的界面。VFP为开发者提供了自 定义菜单和工具栏的功能,从而使开发者能根据需要 设计符合实际应用的菜单和工具栏。
命令、执行一个过程。
9.2.1 菜单设计的基本过程
下拉式菜单是应用程序的总体菜单。 下拉式菜单是由条形菜单和弹出式菜单组成。VFP菜单就 是一个下拉式菜单。在VFP主界面窗口中主菜单就是一个条 形菜单,当在主菜单栏选中一菜单项时,在该菜单项下方出 现的菜单就是弹出式菜单。 VFP使用可视化设计工具—菜单设计器来创建菜单。
LL菜单包含 图书,读者,借阅三表 GL菜单包含执行图书表单和读者表单
例2:创建可执行文件 计算.exe,执行该文件 时,首先在屏幕上显示一个下拉式菜单。
当选择计算圆周长时,运行程序文件zc.prg; 当选择计算圆面积时,运行程序文件mj.prg。
[例9.1] 设计一个下拉式菜单 要求:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
菜单样例
1. 启动菜单设计器
方法:文件菜单→新建→选择菜单→新建文件 →菜单
2. 设置菜单栏的主菜单项
*菜单名称填入表操作、表输出和退出 *结果选择子菜单、子菜单和命令 *命令后文本框中输入Set Sysmenu To Default
13 / 41
菜单样例
3. 设置下拉子菜单
菜单栏菜单项 子菜单菜单项 结果列
33 / 41
设置程序菜单与VFP系统菜单相对位置
替换:是VFP系统的默认选项,用程序菜单 替换系统菜单,即仅显示程序菜单项和与当 前操作有关的VFP系统菜单项。
追加:将程序菜单插入到系统菜单中指定的 菜单项之后。
在…之前:将程序菜单插入到系统菜单中指 定的菜单项之前。在右侧下拉列表框中选择 用于定位的VFP系统菜单项。
1. 新建菜单 方法一:文件菜单→新建→选择菜单→新建 文件→菜单按钮。
方法二:常用工具栏上新建→选择菜单→ 新建文件→菜单按钮。
方法三:在项目管理器中其他选项卡→菜 单→新建→菜单按钮。
16 / 41
1. 新建菜单 方法四:命令方式。 Create |Modify Menu [<菜单文件名>] 命令说明:执行此命令后,系统生成扩 展名为MNX和MNT的菜单文件。
21 / 41
2. “结果”列
命令:表示此菜单项执行一个命令。
过程:用于输入菜单项要执行程序 。
填充名称或菜单项#:若定义主菜单项,则选 项为填充名称;用于填写有效的主菜单项内部 名,运行时用当前菜单名称代替原菜单名称显 示。
若定义子菜单项,则选项为菜单项#。可在 右侧文本框内输入子菜单项的内部名或序号。 可指定系统菜单中某个菜单项的内部名。
Create Menu
打开菜单设计器 设计菜单
菜单文件
(MNX , MNT)
Do <文件 主名>.MPR
生成菜单程序 执行菜单程序
菜单程序文件
(MPR)
11 / 41
9.2.2 菜单样例
菜单:是一系列选项,每一个菜单项都有名称, 方便用户识别,而当用户选择某一菜单项时将 会执行相应操作。
样例:设计一个简单的管理表文件的菜单。 菜单中包括3个主菜单选项:表操作、表输出 和退出。表操作的子菜单包含4个选项:打开 表、浏览、修改表结构和关闭表。表输出的 子菜单包含2个选项:输出表结构和输出表内 容。退出是恢复VFP系统菜单。 样例
36 / 41
2. 设置表单与调用菜单
在表单的Destroy事件中清除菜单。 格式:Release Menu <菜单内部名表> 说明:从内存中清除菜单,菜单内部名是 调用菜单时为菜单所起的名称。
例题:在Mainform表单中调用菜单。
37 / 41
9.5 快捷菜单设计与应用
在程序运行过程中,右击对象弹出的菜单是 快捷菜单,也称对象的右击菜单。快捷菜单 由一个弹出式菜单组成,或者由一系列有上 下级关联的弹出式菜单组成。
在…之后:将程序菜单添加到系统菜单之后。
34 / 41
9.4.2 设置表单中的程序菜单
要使程序菜单显示在表单中,在设计程序菜 单和表单时,必须设置相关属性。
1. 设置菜单
方法:菜单设计器下,单击显示菜单中的常 规选项,在常规选项对话框中,选定顶层表 单复选框,使当前程序菜单成为表单中调用 的菜单。
例题
8 / 41
2. 指定系统菜单的默认配置
命令格式:Set Sysmenu Save | Nosave 命令说明:用于指定系统菜单的默认配置。
Save:指定当前系统菜单为默认配置。
Nosave:指定VFP系统菜单的最初配置为默认 配置。
例题
9 / 41
3. 设置是否显示系统菜单项
命令格式: Set Sysmenu On| Off
35 / 41
2. 设置表单与调用菜单
在表单设计器中,将表单的ShowWindow 属性的值设为2-作为顶层表单。
在表单的Load、Init事件中调用菜单程序。
格式:Do <菜单程序文件名> With This[Form] [,”<菜单内部名>”]
说明:扩展名MPR不能省略。This表示在当前 表单中调用菜单程序。为了在程序中其他位置 能引用菜单名,调用菜单程序时要为菜单规定 菜单内部名。
18 / 41
9.3.2 定义菜单项
菜单设计器
菜单名称
结果
选项 菜单级
19 / 41
1. “菜单名称”列
菜单名称列内输入菜单项的名称,也称菜单 标题,仅用于显示。
可以设置菜单项的访问键,也称热键。
方法:在访问键的字符前加上\<。 例如:输入菜单名称为“表(\<T)”,则可 以用Alt键和字母T组合访问该菜单项。
在VFP中运行菜单程序文件时,菜单也可 显示在表单中作为应用程序的主菜单。
对于同一个程序菜单来说,其位置只能有 一个,不能二者兼得。
32 / 41
设置程序菜单与VFP系统菜单相对位置
方法:在菜单设计器下,显示菜单→常规选项 →进入常规选项对话框→ 位置选项中,选定 当前程序菜单与系统菜单的位置关系。
第9章 程序菜单设计及应用(3学时)
吉林大学计算机教学与研究中心
9.1 设置VFP系统菜单
常见的菜单:下拉式菜单和快捷菜单
一个应用程序通常采用下拉式菜单的 形式列出其功能,供用户使用。
快捷菜单一般从属于某个对象,列出有 关对象的常用操作。也称右击菜单。
命令说明:用于设置程序中执行到具有交互 性命令时是否显示系统菜单项。 常用交互性命令: Wait、Browse、Edit等。
On:程序中执行交互命令时显示系统菜单。
Off:程序中执行交互命令时不显示系统菜单。
例题 程序效果
10 / 41
9.2 菜单应用示例设计
菜单设计的基本步骤
创建菜单主要工作在菜单设计器中完成 。
每个弹出式菜单也有各自的内部名。
如文件的弹出式菜单内部名为_Mfile, 编辑的弹出式菜单内部名为_Medit。
4 / 41
菜单结构
每个菜单项也有内部名,内部名是供系统识 别,可以在编程代码中引用。
如文件菜单中打开菜单项内部名_Mfi_Open
可以为每个菜单项设置快捷键,快捷键通 常是Ctrl键与一个字符键的组合。
快捷菜单的特点
与程序菜单相比,快捷菜单只有弹出式菜 单,没有条形菜单。
快捷菜单一般从属于某个对象,通常只列 出与对象有关的一些操作命令。
38 / 41
2. 建立快捷菜单
方法:文件菜单→新建→选择菜单→新建 文件→快捷菜单。
设计快捷菜单的具体方法与设计下拉式菜单 相似,快捷菜单文件扩展名及快捷菜单程序 文件的生成过程与下拉式菜单都相同。
命令
Accept "表文件主名:" To x If File(x+".dbf")
表操作
打开表
过程
Use &x Else Wait ’表文件’+x+’.dbf不存在!’ Endif
浏览
命令 Brows
修改表结构 命令 Modify Structure
输 入 完 毕关,闭表按 Ctr命l+令S 保Use存 , 文 件 主 名 为
如果不指定,系统将为主菜单或子菜单项随机 地分配一个内部名或序号。具有相同的内部名 或内部号的菜单项,具有相同功能(覆盖菜单 名称)。
25 / 41
9.3.2 定义菜单项
插入按钮
单击该按钮,在当前菜单项行之前插入 一个新的空白菜单项行。
插入栏按钮
单击该按钮,打开插入系统菜单栏对话框, 选定所需要的菜单项,再单击插入按钮。则在 当前菜单项行之前插入一个标准的VFP系统菜 单项。并得到系统子菜单项名称和内部名称。
输入逻辑表达式,若值为.T.,则对应菜单项不 可用(灰色表示);若值为.F.,则对应菜单项可 用;若没写,则系统默认该菜单项可用。
24 / 41
3. “选项”列
信息:定义菜单项说明信息。在信息文本框输 入字符表达式,运行菜单,当鼠标指向菜单项, 该表达式的值将显示在VFP状态栏中。
主菜单名或菜单项#:指定主菜单项的内部名 字或子菜单项的内部编号。
39 / 41
#3. 调用与清除快捷菜单
表M输出enuex输输1出出。表表结 内构 容
命令 List Structure 命令 List
14 / 41
菜单样例
4. 生成可执行菜单程序文件。 方法: 菜单菜单→生成。
5. 运行菜单程序 方法:在命令窗口或程序中执行
Do Menuex1.mpr
15 / 41
9.3 菜单设计与应用 启动菜单设计器
例如:在命令窗口中键入
Creat Menu Mymenu
17 / 41
2. 修改菜单 方法一:文件菜单→打开→文件类型为 菜单(*.MNX)→选择菜单文件。
方法二:命令方式。
Modify Menu [<菜单文件名>]
命令说明:系统默认菜单文件名扩展名 为MNX。执行该命令时,若菜单文件存
在,则打开菜单,否则建立菜单。
2 / 41
9.1 设置VFP系统菜单
菜单结构
典型的菜单系统是 下主菜拉单式或菜条单形,菜它单 由 一个条形菜单和一组弹出式菜单组成。
条形菜单是主菜单,菜而单弹项出式菜单作 为子菜单。当单击条形菜单的一个菜 单项时,激活其相弹应出的式弹菜出单式菜单。
3 / 41
菜单结构
每个条形菜单都有内部名和一组菜单项。 如文件菜单的内部名为_Msm_File, 编辑菜单的内部名为_Msm_Edit。
30 / 41