- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编写表单“Activate Event”事件代码:
This.mytools=NewObject("ToolBars","libs\m") This.mytools.show() This.mytools.dock(0) &&将工具栏置顶
2022/3/30
菜单与工具栏设计
26
12.4.4 协调菜单与工具栏
2022/3/30
菜单与工具栏设计
7
2. 菜单设计器介绍
在“菜单设计器”中有多个选项,各选项分别为:菜单名称 , 结果 ,选项 ,菜单级 ,菜单项 与预览 。
2022/3/30
菜单与工具栏设计
8
12.2.2 “显示”菜单地命令
菜单设计器窗口打开时,VFP地“显示”菜单中 会包含常规选项”与“菜单选项”两个命令。 1. “常规选项”对话框
2022/3/30
菜单与工具栏设计
10
12.2.3 “快速菜单”命令
菜单设计器窗口打开时,VFP地“菜单”菜单中 会包含“快速菜单”命令。选定快速菜单命令后,一 个与VFP系统菜单一样地菜单会自动复制入菜单设计 器窗口,供用户修改成符合自己需要地菜单。
2022/3/30
菜单与工具栏设计
11
12.2.4 创建菜单
菜单与工具栏设计
23
12.4.1 定义工具栏类
从“项目管理器”地“类”选项卡中选择“新 建”按钮打开如图所示地“新建类”对话框,新 建了一个以Toolbar为基类地自定义类 “toolbars”,存放在类库“m.vcx”中。
2022/3/30
菜单与工具栏设计
24
12.4.2 向工具栏类添加控件(对象)
2022/3/30
菜单与工具栏设计
28
为了使菜单项与工具栏相对应,则在对应地工具 栏按钮被禁用时,菜单项也应该自动地被禁用,在菜 单设计器中操作步骤:
! formtemp.mytools.image1.Enabled
单击
2022/3/30
菜单与工具栏设计
29
2. 将菜单添加到拥有此工具栏地表单中
如果创建了工具栏,则应该使菜单命令与对 应地工具栏按钮同步工作。例如,如果启用了某 个工具栏按钮,则必须同时启用对应地菜单命令。 为此,在设计与创建应用程序时应做到:
无论用户使用工具栏按钮,还是使用与按钮相关 联地菜单项,都执行同样地操作。
相关地工具栏按钮与菜单项具有相同地可用或 不可用属性。
当协调菜单与工具栏按钮时,应该遵循如下步骤:
2022/3/30
菜单与工具栏设计
25
12.3.4 将工具栏添加到顶级表单中
在定义了一个工具栏类之后,便可以用这个类创建 一个工具栏。在顶级表单添加工具栏地具体步骤如下:
使用表单设计器建立一个表单,如建立“表单工 具.SCX”,将其“ShowWindow”属性设置为“2-作为 顶层表单”,并新建属性“mytools”。
2022/3/30
菜单与工具栏设计
15
12.2.6 生成与运行菜单
1.生成菜单
2.
用菜单设计器创建地菜单文件不能直接
运行,必须把它转换成菜单程序文件。在“窗口菜单 设计器”处于打开状态时,可以选择“菜单”菜单中
地“生成”命令来生成程序。
2022/3/30
菜单与工具栏设计
16
2. 运行菜单
选择“程序”菜单中地“运行”命令,在“运行”对 话框中选择要执行地菜单程序“工资管理菜 单.MPR”,单击“运行”按钮。
2022/3/30
菜单与工具栏设计
6
12.2.1 菜单设计器
1. 菜单设计器地打开 打开菜单设计器有3种方法: 从Visual FoxPro地“文件”菜单中选择“新建”菜 单项,再从打开地“新建”对话框中选择“菜单”,然 后选择“新建文件”。 从“项目管理器”中选择“其它”选项卡,再选择 “菜单”,然后选择“新建”。 在命令窗口中使用CREATE MENU命令。
第十二章 菜单与工具栏设计
12.1 菜单设计概述 12.2 下拉式菜单设计 12.3 快捷菜单地创建与附加 12.4 设计工具栏
2022/3/30
菜单与工具栏设计
1
12.1 菜单设计概述
12.1.1 菜单和其分类 1.菜单和其分类 在VFP中,可以有两种类型地菜单:条形菜单与弹出式菜单。 常规地菜单系统一般是一个下拉式菜单,由一个条形菜单与一组 弹出式菜单组成。其中条形菜单为主菜单,弹出式菜单作为子菜 单。 快捷式菜单是一种单击右键才出现地弹出式菜单。
2022/3/30
菜单与工具栏设计
4
12.1.3 规划与设计菜单系统
在规划与设计菜单系统时,应该考虑如下一 些原则:
按照应用程序地功能(用户所要执行地任务)组织 系统,而不要按应用程序地层次组织系统。
给每个菜单一个有意义地菜单标题。 按照估计地菜单项使用频率或逻辑顺序组织菜单项。 按功能相近地原则将菜单项分组,然后在菜单项地
2022/3/30
菜单与工具栏设计
27
1. 创建与建好地工具栏协调地菜单
假设运行表单地命令为:DO FORM myforms\表单工 具.scx NAME formtemp
在本例中,要协调“工资管理菜单”菜单中地“教 师基本信息录入”菜单项与工具栏对象“mytools”, 可以在“教师基本信息录入”菜单项后地命令编辑框 中添加如下代码:formtemp.mytools.Image1.Click
2022/3/30
菜单与工具栏设计
2
2. 菜单系统地组成
菜单系统由菜单栏,子菜单组成。子菜单由菜单 标题(“主菜单”项地名称),菜单项与分隔线组成 。
菜单栏
菜单 标题
菜单项
分隔线
子菜单
2022/3/30
菜单与工具栏设计
3
12.1.2 创建菜单系统地步骤
规划与设计系统 创建菜单与子菜单 :生成“ .mnx”文件 为菜单或菜单项指定任务 生成菜单程序 :生成“ .MPR”文件 执行菜单程序 :生成“ .MPX”文件
从“表单控件”工具栏上,选择“图像”控件(或 其它要添加地控件)。
选择自定义工具栏,将控件放置在自定义工具栏上。 设置工具栏按钮(即新添加地控件)地Picture属
性,为按钮添加位图或图标 。 重复步骤上面三步,直至完成自定义工具栏 在“属性”窗口中,设置工具栏地属性。 保存自定义地工具栏类。
逻辑组之间放置分隔线。 将菜单上菜单项地数目限制在一个屏幕之内。 为菜单与菜单项设置键盘快捷键。
2022/3/30
菜单与工具栏设计
5
12.2 下拉式菜单设计
为教师工资管理系统创建一个简单地下拉式菜单 系统: 菜单栏有“数据录入”,“数据查询”与“退出系统” 三项。 “数据录入”包含“教师基本信息录入”,“教师工 资录入”两项。 “数据查询”包含“教师基本信息查询”,“教师工 资查询”两项。 “退出系统”将退出教师工资管理系统。
创建主菜单
为菜单指 定任务
创建子菜单
为菜单项 指定任务
保存菜单 同时生成 工资管理菜单.MNT
2022/3/30
菜单与工具栏设计
12
12.2.5 完善菜单
1.菜单项分组 在一空地“菜单名称”栏中键入符号“\-”便可以创建
一条分隔线。
2.设定键盘访问键
2022/3/30
菜单与工具栏设计
13
3. 利用“提示选项”对话框设置菜单
30
2022/3/30
菜单与工具栏设计
31
为菜单中未设置过任 何命令或过程地菜单 项创建对于整个菜单 都有效地全局过程。
创建用户菜单程 序地初始化代码
清理程序在菜单定义程 序之后,菜单和菜单项 过程代码之前执行。
2022/3/30
菜单与工具栏设计
9
2. “菜单选项”对话框
菜单级别名称,与当前选择地菜单项有关。
在“过程”编辑框中输入程序代码,作为本级菜单各 选项地公共代码 。
在表单设计器打开“工资管理菜单.mnx”,然后打开 “显示”菜单中地“常规选项”对话框中,并选定其 中地“顶层表单”复选框,最后在“表单工具”表单 地Load事件过程中调用菜单程序: DO mymenu\工资管理菜单.MPR WITH THIS,.T.
运行“表单 工具.SCX”
2022/3/30
菜单与工具栏设计
(1)设定键盘快捷键
快捷键一般是Ctrl或Alt键与一个字母键相组合构 成地组合键。为菜单项(数据录入)指定快工具栏设计
14
(2)启用与禁用菜单项
当表达式为“真” 时,该菜单项被禁 用;而当表达式为 “假”时菜单项处 于启动状态。
(3)设定提示信息
当鼠标移动到菜单 项上时,在屏幕底 部地状态栏中可以 显示对菜单项地详 细提示信息。
鼠标右键为功能键 USE mydata\jsgz.DBF BROWSE USE
PUSH KEY CLEAR
&&设置
2022/3/30
菜单与工具栏设计
21
(5)执行程序
执行程序ex1.prg后,结果如图所示。如果要使控件 或对象可以在单击鼠标右键时激活快捷菜单,需要在 控件或对象地RightClick事件(过程)中增加执行 菜单地语句。
2022/3/30
菜单与工具栏设计
22
12.4 设计工具栏
Visual FoxPro提供了一个工具栏(ToolBar)基 类,可以在此基础上创建自己地工具栏。为了建立工 具栏一般包含如下步骤:
定义工具栏类。 向工具栏类添加控件(对象)。 将工具栏添加到顶级表单中。 协调菜单与工具栏。
2022/3/30
打开“菜单”菜单中地“生成”命令,在保存菜单文 件时取名为“快捷菜单.MNX”,在“生成菜单”对话框中 单击“生成”按钮,就会生成菜单程序“快捷菜单.MPR”。
2022/3/30
菜单与工具栏设计
20
(4)编写调用程序
*ex1.prg CLEAR PUSH KEY CLEAR &&清除以前设置过地功能键 ON KEY LABEL RIGHTMOUSE DO mymenu\快捷菜单.mpr
2022/3/30
菜单与工具栏设计
17
12.3 快捷菜单地创建与附加
【例12.1】建立一个剪贴板功能地快捷菜单,供浏览 jsgz.dbf表使用。操作步骤如下: (1)打开快捷菜单设计器窗口
2022/3/30
菜单与工具栏设计
18
(2)插入系统菜单栏
2022/3/30
菜单与工具栏设计
19
(3)生成菜单程序