第9章 vfp 菜单与工具栏
- 格式:ppt
- 大小:1.01 MB
- 文档页数:29
第第第第第第第第第第第第第12.1第第第第第第第12.2第第第第第第第第12.3第第第第第第第第第第第12.4第第第第第第1 2022/2/25 菜单和工具栏设计12.1 菜单设计概述12.1.1 菜单及其分类1.菜单及其分类在VFP中,可以有两种类型的菜单:条形菜单和弹出式菜单。
[常规的菜单系统一般是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。
其中条形菜单为主菜单,弹出式菜单作为子菜单。
[快捷式菜单是一种单击右键才出现的弹出式菜单。
2 2022/2/25 菜单和工具栏设计2.菜单系统的组成菜单系统由菜单栏、子菜单组成。
子菜单由菜单标题(“主菜单”项的名称)、菜单项和分隔线组成 。
菜单栏菜单标题菜单项分隔线子菜单3 2022/2/25 菜单和工具栏设计12.1.2 创建菜单系统的步骤[规划与设计系统[创建菜单和子菜单:生成“.mnx”文件[为菜单或菜单项指定任务[生成菜单程序:生成“.MPR”文件[执行菜单程序:生成“.MPX”文件4 2022/2/25 菜单和工具栏设计12.1.3 规划和设计菜单系统在规划和设计菜单系统时,应该考虑如下一些原则:[按照应用程序的功能(用户所要执行的任务)组织系统,而不要按应用程序的层次组织系统。
[给每个菜单一个有意义的菜单标题。
[按照估计的菜单项使用频率或逻辑顺序组织菜单项。
[按功能相近的原则将菜单项分组,然后在菜单项的逻辑组之间放置分隔线。
[将菜单上菜单项的数目限制在一个屏幕之内。
[为菜单和菜单项设置键盘快捷键。
5 2022/2/25 菜单和工具栏设计12.2 下拉式菜单设计为教师工资管理系统创建一个简单的下拉式菜单系统:[菜单栏有“数据录入”、“数据查询”和“退出系 统”三项。
[“数据录入”包括“教师基本信息录入”、“教师 工资录入”两项。
[“数据查询”包括“教师基本信息查询”、“教师 工资查询”两项。
[“退出系统”将退出教师工资管理系统。
6 2022/2/25 菜单和工具栏设计12.2.1 菜单设计器1. 菜单设计器的打开打开菜单设计器有3种方法:[从Visual FoxPro的“文件”菜单中选择“新建”菜单项,再从打开的“新建”对话框中选择“菜单”,然后选择“新建文件”。
第九章Visual FoxPro菜单设计9. 1 Visual FoxPro系统菜单系统菜单是Visual FoxPro内含的功能菜单,利用系统菜单是用户挪用Visual FoxPro系统功能的一种方式或途径。
而了解Visual FoxPro系统菜单的结构、特点和行为,那么是设计用户自己的菜单系统的基础。
菜单结构(重点)Visual FoxPro支持两种类型的菜单:条形菜单和弹出式菜单。
每一个条形菜单都有一个内部名字和一组菜单项选择项,每一个菜单项选择项都有一个名称(题目)和内部名字。
每一个弹出式菜单也有一个内部名字和一个菜单项选择项,每一个菜单项选择项那么有一个名称(题目)和选项序号。
菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内部名字或选项序号那么用于在代码中引用。
每一个菜单项选择项都能够有选择地设置一个热键和一个快捷键。
热键一般是一个字符,当菜单激活时,能够按菜单项的热键快速选择该菜单项。
快捷键一般是Ctrl键和另一个字符键组成的组合键。
不管菜单是不是激活,都能够通过快捷键选择相应的菜单项选择项。
不管是哪一种类型的菜单,被选择其中某个选项时都会有必然的动作。
那个动作能够是下面三种情形中的一种:执行命令、执行一个进程和激活另一个菜单。
典型的菜单系统一样是一个下拉式菜单,由一个条形菜单和一组弹出式菜单组成。
其中条形菜单作为主菜单,弹出式菜单作为子菜单。
被选择一个条形菜单项选择项时,激活相应的弹出式菜单。
快捷菜单一样由一个或一组上下级的弹出式菜单组成。
Visual FoxPro系统菜单Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。
条形菜单中常见选项的名称及内部名字如表所示。
条形菜单本身的内部名字为_MSYSMENU,也可看做是整个菜单系统的名字。
表主菜单(_MSYSMENU)常见选项选择条形菜单中的每一个菜单项都会激活一个弹出式菜单,各弹出式菜单的内部名字如表所示。
VFP中工具栏的建立注意事项和添加操作
VFP中工具栏的建立注意事项和添加操作
1,建立工具栏
创建工具栏的可视类mytool(具体方法网上很多),指定工具栏类的“ShowWindow=1”(必须的,否则的话工具栏会停靠在VF的主窗口中),如果工具栏上的控件的方法需要引用父表单的属性或方法(一般都会需要),在这个工具栏的可视类中添加一个新的用于保存父表单对象的属性(oMianform),通过该属性来引用父表单上所有一切。
在工具栏类的“Init”事件中写下如下代码:
Parameter oform
This.omainform=oform
2,添加到表单
要在表单中添加工具栏必须先在表单中添加自定义属性mytools (或者别的名字),初始值.f.,注意这个表单必须具备该属性:ShowWindow=2(也就是该表单为顶层表单)
以下代码写在表单的activate事件里:
*先判断是否已经载入工具栏,避免重复
if type("thisform. mytools")="0" and !isnull(thisform. mytools) return
endif
set classlib to myclass additive
thisform. mytools=createobject('mytool') &&创建工具栏
this. mytools.dock(0) &&放置在屏幕顶端
this. mytools.show &&显示工具栏
release classlib myclass。
171
图9-17 顶层表单属性设置 图9-18 顶层表单Init 事件
图9-19 表单顶层菜单运行界面
9.3 快捷菜单设计
快捷菜单一般从属于某个界面对象,它列出了与该对象相关的操作命令,用鼠标右键单击对象时弹出。
利用VFP 提供的快捷菜单设计器可以方便地定义和设计快捷菜单。
建立快捷菜单的步骤如下。
① 单击“文件”菜单下的“新建”命令或常用工具栏上的“新建”按钮,在出现的“新建”对话框中,选择文件类型为“菜单”,然后单击“新建文件”按钮。
在弹出“新建菜单”对话框中单击“快捷菜单”按钮,进入快捷菜单设计器。
② 用与设计下拉式菜单相似的方法,在快捷菜单设计器窗口中设计快捷菜单,生成菜单程序文件。
③ 打开表单,选定需要添加快捷菜单的对象。
④ 在选定对象的RightClick 事件代码中添加调用快捷菜单程序的命令:
DO <快捷菜单程序名.MPR>
其中,文件的扩展名.MPR 不能省略。
⑤ 运行表单,右键单击表单对象,即会弹出快捷菜单。
【例9-3】 为表单biaodan1建立一个快捷菜单kjcd ,菜单包括选项:日期、时间、变大和变小,时间与变大之间有分隔线,如图9-20所示。
选中日期或时间时,表单标题将变成当前日期或时间。
选中变大或变小选项时,表单大小将缩放20%。
操作步骤如下。
① 打开“快捷菜单设计器”窗口。