《数据库及应用——VFP》-- 菜单设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VFP程序设计与实现
第十二章
oxPro
1
VFP程序设计与实现
本章主要介绍菜单系统的规划以及如何使
用菜单设计器来设计一个常用的菜单系统。
2
VFP程序设计与实现
12.1 规划菜单系统 12.2 用菜单设计器创建菜单 12.3 向菜单添加事件代码 12.4 创建快捷菜单
3
VFP程序设计与实现
12.1 规划菜单系统
18
VFP程序设计与实现
12.3.3 启用和废止菜单项
用户可根据逻辑条件启用或废止菜单及菜单项, 若要启用或废止菜单及菜单项,请按以下步骤进行:
在“菜单名称”栏中,单击相应的菜单标题或下拉菜单 单击“选项”栏中的按钮,屏幕将显示“提示选项”对
话框 选择“跳过”复选框右侧的“…”按钮,屏幕显示“表达 式生成器”对话框 在“跳过”框中,输入表达式,此表达式将用于确定是 启用还是停止菜单或菜单项
10
wenku.baidu.com
VFP程序设计与实现
12.2.4 指定热键
设计良好的菜单都应具有热键,此功能可使用户 通过键盘快速地访问菜单。为菜单或菜单项指定热 键的方法为:只需在希望成为热键的字母左侧输入 “\<” ,通过ALT键和指定键来访问.
11
VFP程序设计与实现
12.2.5 添加快捷键
在“菜单名称”栏中,选择相应的菜单标题或菜单项
单击“选项”栏下的按钮,屏幕将显示“提示选项”对
话框
在“键标签”框中,按下一组合键,此时在“键标签”
和“键说明”框中,都会显示所按下的快捷键。例如, 选择“文件”菜单下的“新建”子菜单项,按下 CTRL+N即可
选择“跳过”框,并输入表达式,此表达式将用于确定
是启动还是停止菜单或菜单项
12
14
VFP程序设计与实现
2.增加菜单项
(1)单击“菜单名称”列中的任意一菜
单项。 (2)单击右侧“菜单项”中的“插入” 按钮,就可以插入一个菜单项。 (3)把插入的菜单项保存到菜单中,选 择“文件”菜单中的“保存”选项就可 以了
15
VFP程序设计与实现
12.2.8 菜单的保存
保存菜单就是将菜单存为磁盘文件,文件名的后 缀是.MNX。执行文件名的后缀是.MPR。保存后的菜单, 可以像使用应用程序一样来使用它。
23
VFP程序设计与实现
若要将SDI菜单附加到表单中可在创建 了SDI菜单后,将其附加到SDI表单中, 其步骤如下:
(1)在“表单设计器”中,将表单的 Show Window属性设置为“2-作为顶层 表单”。
(2)在表单的Init事件中调用该菜单。 例如,假设菜单名为Quickmenu.mpr, 添加此代码: DO Quickmenu.mpr WITH THIS,.T.
19
VFP程序设计与实现
12.3.4 为菜单或菜单项指定任务
选择一个菜单或菜单项时,将执行相应的任务。 为菜单或菜单项指定一个命令去执行相应的任务。此 命令可以是任何有效的VFP的一条语句,也可以是一 个过程的调用。
.指定命令
指定过程
20
VFP程序设计与实现
12.3.5 预览菜单系统
在“菜单设计器”中设计一个菜单的过程中,可以随时单击“预 览”按钮或者选中系统“菜单”中的“预览”菜单项来观察设计的效 果。
12.1.1 菜单组成
菜单栏 多个菜单 菜单项
下拉菜单组成
4
VFP程序设计与实现
12.1.2 菜单系统的规划原则
菜单系统的质量直接关系到应用程序系统的质量, 规划合理的菜单,有利于用户接受应用程序,方便用户 理解应用程序的功能。
按照用户所要执行的任务组织菜单系统,而不是按应用程序的层次组织菜 单 给每个菜单一个有意义的标题。标题应简单,能够反映要执行的任务 按照估计的菜单项的使用频率、逻辑顺序或字母顺序组织菜单项 在菜单项的逻辑组之间放置分隔线 将菜单上的基础数目限制在一个屏幕之内 为菜单和菜单项设置热键或键盘快捷键。 使用能够准确描述菜单项的文字。 在菜单项中混合使用大小字母
21
VFP程序设计与实现
12.3.6 运行菜单系统
运行菜单系统的操作步骤如下: (1)保存该菜单。 (2)选中系统“程序”菜单中的“运行”菜单项,找到所要运行的菜单 程序或者在命令窗口中直接输入命令:DO C:\VFP98\菜单1.mpr
22
VFP程序设计与实现
12.4 创建快捷菜单
快捷菜单和普通菜单的创建方法是几乎一样的。但两 者的用途却是不同的。所谓快捷菜单,简单地说,就是在 屏幕(或控件中)右击鼠标时弹出来的菜单。
9
VFP程序设计与实现
12.2.3 设计菜单组的分隔线
为了增加菜单的可读性,可使用分隔线,将功能相似的菜单项分 隔成组,操作步骤如下:
在“菜单名称”列中,输入“\-”来取代一个菜单项。 拖动“\-”提示符左侧的按钮,将分隔线移动到所希
望的位置 。 选中“课程查询”菜单项,单击“插入”按钮 。 将“新菜单项”删除,输入“\-”,预览菜单。
24
VFP程序设计与实现 例如,创建一个包含有二个选项【运行表单】和【关闭】的快 捷菜单。浏览命令的代码是DO FORM ?,在关闭菜单定义时, “结果”栏中选择“菜单项#”,在“结果”栏后的栏中输入 “_mfi_close”,表示调用系统菜单中的“关闭”功能。创建完成 后,将生成一个菜单名为Myquickmenu.mpr,其中Myquickmenu 是自己命名的菜单文件名。所创建的菜单结果如图
然后在系统菜单中选择【菜单】|【生成】,生成QuickMenu.mpr。 最后在“属性示例”表 单的RightClick Event方法 程序中添加下行代码:
Do Menus\QuickMenu.mpr
25
返 回
单击“文件”菜单项中的“保存”选项 在“另存为”对话框中,选定要保存的目录,再输入要
保存的文件名 单击“保存”按钮,则菜单被保存 在系统的“菜单”菜单项中,选择“生成”命令
16
VFP程序设计与实现
12.3 向菜单添加事件代码
12.3.1 向菜单添加“清理”代 码
当程序运行时,会发现菜单不能停留在屏幕上,这是因为 菜单中没有循环代码等待用户操作。为了让菜单能停留在屏幕 上等待用户选择,需要在菜单的“清理”代码中加入代码 READ EVENTS。
打开要添加事件代码的菜单文件,系统进入“菜单设计器”对话框。 在“显示”菜单中,选择“常规选项”命令,屏幕显示“常规选项”对话 框,。 在“菜单代码”区域,选择“清理”复选框,打开“代码”窗口。 在“常规选项”对话框中,单击“确定”按钮,激活VFP为清理代码显示的 独立窗口。 在清理代码窗口中,输入正确的清理代码,例如,输入READ EVENTS命令, 并按Ctrl+W存盘退出,作为应用程序中主程序的菜单 关闭此窗口,返回到“菜单设计器”窗口
17
VFP程序设计与实现
12.3.2 向菜单系统添加初始化代码
初始化代码可以包含创建环境的代码、定义内存变 量的代码、打开所需文件代码以及使用 PUSH MENU 和 POP MENU 命令来保存或还原菜单系统的代码。
打开要添加初始化代码的菜单文件,系统进入“菜单设计器”对话框。 在“显示”菜单中,选择“常规选项”命令,屏幕显示“常规选项”对 话框。 在“常规选项”对话框的“菜单代码”列表框中,选择“设置”复选 框,打开“代码”窗口。 单击“确定”按钮,系统将显示一个独立的“初始化代码”窗口。 在“初始化代码”窗口中,输入需要的初始化代码,按Ctrl+W键存盘 并退出 。 关闭此窗口,返回到“菜单设计器”窗口
VFP程序设计与实现
12.2.6 菜单的修饰
显示状态栏信息
定义菜单标题的位置
为菜单系统创建默认过程
13
VFP程序设计与实现
12.2.7 菜单的修改
1.删除菜单项
(1)在“菜单设计器”的菜单列表中,单击要 删除的菜单项。 (2)单击“删除”按钮,或选择“菜单”的下 拉菜单的“删除菜单项”命令。 (3)在“系统提示”对话框中,单击“是(Y)” 按钮,则选中的菜单项被删除。 (4)选择“文件”菜单中的“保存”选项,可 以把改过的菜单项保存到菜单中了。
5
VFP程序设计与实现
12.2 用菜单设计器创建菜单
12.2.1 启动菜单设计器
6
VFP程序设计与实现
12.2.2 创建菜单栏、菜单项和子菜单
1.创建菜单栏
在“菜单设计器”对话框中的“菜单名称”列输入菜单的标 题,在“结果”列中选择该菜单项的结果类型 。
7
VFP程序设计与实现
2.创建下拉菜单
菜单项创建好后,可以在菜单上设置下拉菜单项。每个菜单项都 代表用户执行的过程,菜单项也可以包含提供其他菜单项的子菜单。 (1) 选中“菜单设计器”对话框中的“查询”菜单项,在“结果” 列中选中结果类型为“子菜单”。此时“结果”列的右侧出 现一个“创建”按钮,单击该按钮,弹出“菜单设计器-菜单 1”对话框。 (2) 在对话框的“菜单名称“列中输入新建各项菜单的标题
8
VFP程序设计与实现
3.创建子菜单
对于每个菜单项,都可以创建包含其他菜单项的子菜单。创建子 菜单的操作步骤如下:
(1)在“菜单名称”列中,单击要添加子菜单的菜单项。 (2)在“结果”列中,选择“子菜单”,使“创建”按钮 会出现在列表的右侧。如果已经有了子菜单,则此处 出现的是“编辑”按钮。 (3)单击“创建”按钮或“编辑”按钮。 (4)在“菜单名称”列中,输入新建的各子菜单项的名称。
第十二章
oxPro
1
VFP程序设计与实现
本章主要介绍菜单系统的规划以及如何使
用菜单设计器来设计一个常用的菜单系统。
2
VFP程序设计与实现
12.1 规划菜单系统 12.2 用菜单设计器创建菜单 12.3 向菜单添加事件代码 12.4 创建快捷菜单
3
VFP程序设计与实现
12.1 规划菜单系统
18
VFP程序设计与实现
12.3.3 启用和废止菜单项
用户可根据逻辑条件启用或废止菜单及菜单项, 若要启用或废止菜单及菜单项,请按以下步骤进行:
在“菜单名称”栏中,单击相应的菜单标题或下拉菜单 单击“选项”栏中的按钮,屏幕将显示“提示选项”对
话框 选择“跳过”复选框右侧的“…”按钮,屏幕显示“表达 式生成器”对话框 在“跳过”框中,输入表达式,此表达式将用于确定是 启用还是停止菜单或菜单项
10
wenku.baidu.com
VFP程序设计与实现
12.2.4 指定热键
设计良好的菜单都应具有热键,此功能可使用户 通过键盘快速地访问菜单。为菜单或菜单项指定热 键的方法为:只需在希望成为热键的字母左侧输入 “\<” ,通过ALT键和指定键来访问.
11
VFP程序设计与实现
12.2.5 添加快捷键
在“菜单名称”栏中,选择相应的菜单标题或菜单项
单击“选项”栏下的按钮,屏幕将显示“提示选项”对
话框
在“键标签”框中,按下一组合键,此时在“键标签”
和“键说明”框中,都会显示所按下的快捷键。例如, 选择“文件”菜单下的“新建”子菜单项,按下 CTRL+N即可
选择“跳过”框,并输入表达式,此表达式将用于确定
是启动还是停止菜单或菜单项
12
14
VFP程序设计与实现
2.增加菜单项
(1)单击“菜单名称”列中的任意一菜
单项。 (2)单击右侧“菜单项”中的“插入” 按钮,就可以插入一个菜单项。 (3)把插入的菜单项保存到菜单中,选 择“文件”菜单中的“保存”选项就可 以了
15
VFP程序设计与实现
12.2.8 菜单的保存
保存菜单就是将菜单存为磁盘文件,文件名的后 缀是.MNX。执行文件名的后缀是.MPR。保存后的菜单, 可以像使用应用程序一样来使用它。
23
VFP程序设计与实现
若要将SDI菜单附加到表单中可在创建 了SDI菜单后,将其附加到SDI表单中, 其步骤如下:
(1)在“表单设计器”中,将表单的 Show Window属性设置为“2-作为顶层 表单”。
(2)在表单的Init事件中调用该菜单。 例如,假设菜单名为Quickmenu.mpr, 添加此代码: DO Quickmenu.mpr WITH THIS,.T.
19
VFP程序设计与实现
12.3.4 为菜单或菜单项指定任务
选择一个菜单或菜单项时,将执行相应的任务。 为菜单或菜单项指定一个命令去执行相应的任务。此 命令可以是任何有效的VFP的一条语句,也可以是一 个过程的调用。
.指定命令
指定过程
20
VFP程序设计与实现
12.3.5 预览菜单系统
在“菜单设计器”中设计一个菜单的过程中,可以随时单击“预 览”按钮或者选中系统“菜单”中的“预览”菜单项来观察设计的效 果。
12.1.1 菜单组成
菜单栏 多个菜单 菜单项
下拉菜单组成
4
VFP程序设计与实现
12.1.2 菜单系统的规划原则
菜单系统的质量直接关系到应用程序系统的质量, 规划合理的菜单,有利于用户接受应用程序,方便用户 理解应用程序的功能。
按照用户所要执行的任务组织菜单系统,而不是按应用程序的层次组织菜 单 给每个菜单一个有意义的标题。标题应简单,能够反映要执行的任务 按照估计的菜单项的使用频率、逻辑顺序或字母顺序组织菜单项 在菜单项的逻辑组之间放置分隔线 将菜单上的基础数目限制在一个屏幕之内 为菜单和菜单项设置热键或键盘快捷键。 使用能够准确描述菜单项的文字。 在菜单项中混合使用大小字母
21
VFP程序设计与实现
12.3.6 运行菜单系统
运行菜单系统的操作步骤如下: (1)保存该菜单。 (2)选中系统“程序”菜单中的“运行”菜单项,找到所要运行的菜单 程序或者在命令窗口中直接输入命令:DO C:\VFP98\菜单1.mpr
22
VFP程序设计与实现
12.4 创建快捷菜单
快捷菜单和普通菜单的创建方法是几乎一样的。但两 者的用途却是不同的。所谓快捷菜单,简单地说,就是在 屏幕(或控件中)右击鼠标时弹出来的菜单。
9
VFP程序设计与实现
12.2.3 设计菜单组的分隔线
为了增加菜单的可读性,可使用分隔线,将功能相似的菜单项分 隔成组,操作步骤如下:
在“菜单名称”列中,输入“\-”来取代一个菜单项。 拖动“\-”提示符左侧的按钮,将分隔线移动到所希
望的位置 。 选中“课程查询”菜单项,单击“插入”按钮 。 将“新菜单项”删除,输入“\-”,预览菜单。
24
VFP程序设计与实现 例如,创建一个包含有二个选项【运行表单】和【关闭】的快 捷菜单。浏览命令的代码是DO FORM ?,在关闭菜单定义时, “结果”栏中选择“菜单项#”,在“结果”栏后的栏中输入 “_mfi_close”,表示调用系统菜单中的“关闭”功能。创建完成 后,将生成一个菜单名为Myquickmenu.mpr,其中Myquickmenu 是自己命名的菜单文件名。所创建的菜单结果如图
然后在系统菜单中选择【菜单】|【生成】,生成QuickMenu.mpr。 最后在“属性示例”表 单的RightClick Event方法 程序中添加下行代码:
Do Menus\QuickMenu.mpr
25
返 回
单击“文件”菜单项中的“保存”选项 在“另存为”对话框中,选定要保存的目录,再输入要
保存的文件名 单击“保存”按钮,则菜单被保存 在系统的“菜单”菜单项中,选择“生成”命令
16
VFP程序设计与实现
12.3 向菜单添加事件代码
12.3.1 向菜单添加“清理”代 码
当程序运行时,会发现菜单不能停留在屏幕上,这是因为 菜单中没有循环代码等待用户操作。为了让菜单能停留在屏幕 上等待用户选择,需要在菜单的“清理”代码中加入代码 READ EVENTS。
打开要添加事件代码的菜单文件,系统进入“菜单设计器”对话框。 在“显示”菜单中,选择“常规选项”命令,屏幕显示“常规选项”对话 框,。 在“菜单代码”区域,选择“清理”复选框,打开“代码”窗口。 在“常规选项”对话框中,单击“确定”按钮,激活VFP为清理代码显示的 独立窗口。 在清理代码窗口中,输入正确的清理代码,例如,输入READ EVENTS命令, 并按Ctrl+W存盘退出,作为应用程序中主程序的菜单 关闭此窗口,返回到“菜单设计器”窗口
17
VFP程序设计与实现
12.3.2 向菜单系统添加初始化代码
初始化代码可以包含创建环境的代码、定义内存变 量的代码、打开所需文件代码以及使用 PUSH MENU 和 POP MENU 命令来保存或还原菜单系统的代码。
打开要添加初始化代码的菜单文件,系统进入“菜单设计器”对话框。 在“显示”菜单中,选择“常规选项”命令,屏幕显示“常规选项”对 话框。 在“常规选项”对话框的“菜单代码”列表框中,选择“设置”复选 框,打开“代码”窗口。 单击“确定”按钮,系统将显示一个独立的“初始化代码”窗口。 在“初始化代码”窗口中,输入需要的初始化代码,按Ctrl+W键存盘 并退出 。 关闭此窗口,返回到“菜单设计器”窗口
VFP程序设计与实现
12.2.6 菜单的修饰
显示状态栏信息
定义菜单标题的位置
为菜单系统创建默认过程
13
VFP程序设计与实现
12.2.7 菜单的修改
1.删除菜单项
(1)在“菜单设计器”的菜单列表中,单击要 删除的菜单项。 (2)单击“删除”按钮,或选择“菜单”的下 拉菜单的“删除菜单项”命令。 (3)在“系统提示”对话框中,单击“是(Y)” 按钮,则选中的菜单项被删除。 (4)选择“文件”菜单中的“保存”选项,可 以把改过的菜单项保存到菜单中了。
5
VFP程序设计与实现
12.2 用菜单设计器创建菜单
12.2.1 启动菜单设计器
6
VFP程序设计与实现
12.2.2 创建菜单栏、菜单项和子菜单
1.创建菜单栏
在“菜单设计器”对话框中的“菜单名称”列输入菜单的标 题,在“结果”列中选择该菜单项的结果类型 。
7
VFP程序设计与实现
2.创建下拉菜单
菜单项创建好后,可以在菜单上设置下拉菜单项。每个菜单项都 代表用户执行的过程,菜单项也可以包含提供其他菜单项的子菜单。 (1) 选中“菜单设计器”对话框中的“查询”菜单项,在“结果” 列中选中结果类型为“子菜单”。此时“结果”列的右侧出 现一个“创建”按钮,单击该按钮,弹出“菜单设计器-菜单 1”对话框。 (2) 在对话框的“菜单名称“列中输入新建各项菜单的标题
8
VFP程序设计与实现
3.创建子菜单
对于每个菜单项,都可以创建包含其他菜单项的子菜单。创建子 菜单的操作步骤如下:
(1)在“菜单名称”列中,单击要添加子菜单的菜单项。 (2)在“结果”列中,选择“子菜单”,使“创建”按钮 会出现在列表的右侧。如果已经有了子菜单,则此处 出现的是“编辑”按钮。 (3)单击“创建”按钮或“编辑”按钮。 (4)在“菜单名称”列中,输入新建的各子菜单项的名称。