2009-7-27 1
第 10 章菜单设计与应用目录 上一页 下一页 退出2009-7-27 2
本 章 目 录第一节 Visual FoxPro菜单系统第二节 菜单设计器第三节 创建菜单 第四节 用快速菜单创建菜单第五节 创建快捷菜单 第六节 修饰菜单设计 第七节 工具栏目录 上一页 下一页 退出2009-7-27 3
一、菜单的组成菜单系统由一个菜单栏、多个菜单、菜单项和下拉菜单所组成。菜单是包含命令、过程和子菜单的选项列表。因此菜单按等级可分为父菜单和子菜单,子菜单作为父菜单的一个菜单项。如图 10-1所示。
窗口标题 菜单栏 菜单项 热键 下拉菜单 不可选项 分隔线 一级子菜单图 10 - 1 Visual FoxPro6.0 系统菜单窗口第一节 Visual FoxPro菜单系统目录 上一页 下一页 退出2009-7-27 4
要为一个应用程序创建一套菜单系统,通常按照以下步骤进行:
1,规划与设计菜单系统
2,创建菜单和子菜单
3,菜单系统指定任务
4,生成菜单程序菜单与表单不同,它不能直接在设计器中生成程序代码。而必须专门生成菜单程序代码。在设计器中所做的一切将被保存在一个带,MNX扩展名的文件中,在这个文件中保存了有关菜单系统的所有信息,它实际上就是一个表文件。从“菜单”菜单上选择“生成”命令,生成的菜单程序,扩展名为 MPR。
5,运行及测试菜单系统二,菜单系统的设计目录 上一页 下一页 退出2009-7-27 5
三、系统菜单的控制
Visual FoxPro6.0系统菜单是一个典型的菜单系统,
它的主菜单是一个条形菜单,其内部名字为 _MSYSMENU。
每一个菜单项和所激活的弹出式菜单均有一个内部名。
1.重新设置系统菜单。
命令格式是:
SET SYSMENU ON | OFF | AUTOMATIC | TO[<弹出式菜单名表 >] | TO[<条形菜单项名表 >] | TO [DEFAULT] |
SAVE | NOSAVE
其中各子句的含义是:
ON 允许程序执行时访问系统菜单,OFF禁止访问,
AUTOMATIC访问系统菜单时使系统菜单显示。
目录 上一页 下一页 退出2009-7-27 6
TO[<弹出式菜单名表 >]:以菜单项内部名字列出可用的弹出式菜单。
TO[<条形菜单项名表 >]:以条形菜单项内部名字列出可用的子菜单。
TO[DEFAULT]:将系统菜单恢复成缺省配置。
SAVE:将当前系统菜单配置指定为缺省配置。
NOSAVE:将缺省设置恢复成 VFP系统的标准配置。
【例 10-1】 要求仅保留 Visual FoxPro系统菜单的,文件,
( File),“编辑,( Edit) 和,工具,(Tools)菜单,
其 它选项都从系统菜单中移去。
执行命令,SET SYSMENU TO _MFILE,_MEDIT,_MTOOLS
命令执行后,系统菜单显示效果如图 10-2右图所示。
目录 上一页 下一页 退出2009-7-27 7
图 10 - 2 将标准系统菜单设置为新的系统菜单窗口目录 上一页 下一页 退出2009-7-27 8
【 例 10-2】 将系统菜单恢复成标准菜单 。
先执行命令,SET SYSMENU NOSAVE
后执行命令,SET SYSMENU TO DEFAULT
执行上述命令后,将例 10-1的系统菜单恢复成标准设置 。
注意,不带参数的 SET SYSMENU TO命令将屏蔽系统菜单。
2.从指定的下拉菜单中移去指定的菜单项命令格式:
RELEASE BAR <下拉菜单项名 > OF <菜单项名 >
【 例 10-3】 从,编辑,菜单项的下拉菜单中移去,复制,
和,粘贴,菜单项执行命令:
RELEASE BAR _MED_COPY OF _MEDIT
RELEASE BAR _MED_PASTE OF _MEDIT
目录 上一页 下一页 退出2009-7-27 9
3,Visual FoxPro 系统菜单的名称和内部名菜单名称 内部名称 菜单名称 内部名称文件 (File) _MSM _ FILE 工具 (Tools) _MSM _ TOOLS
编辑 (Edit) _MSM _ EDIT 程序 (Program) _MSM _ PROG
显示 (Da ta S es si on ) _MS M _ VIEW 窗口 (Window) _MSM _ WINDO
格式 (Format) _MSM _ TEXT 帮助 (Help) _MSM _ SYSTM
表 10-1 系统主菜单的名称及其内部名称目录 上一页 下一页 退出2009-7-27 10
四、创建菜单系统的步骤
1,规划系统 。 确定需要哪些菜单,出现在界面何处,
以及哪几个菜单要有子菜单等 。
2,利用设计器创建菜单及子菜单 。
3,指定菜单所要执行的任务 。 例如显示表单或对话框等 。 菜单建立好之后将生成一个以,mnx为扩展名的菜单文件和以,mnt为扩展名的菜单备注文件 。
4,选择,预览,按钮预览整个菜单系统 。
5,从,菜单,项的下拉菜单中选择,生成,命令,生成菜 单程序以及运行菜单程序,对菜单系统进行测试 。
6,从,程序,菜单中选择,执行,命令,然后指定已生成 的扩展名为,mpr的菜单程序文件 。
目录 上一页 下一页 退出2009-7-27 11
第二节 菜单设计器一、菜单设计器可利用如下几种方法打开菜单设计器:
1,从工具栏中单击,新建,按钮,从文件类型列表中选择,菜单,,然后单击,新建文件,按钮 。 在弹出的
,新建菜单,对话框中选择,菜单,,则出现菜单设计器窗口画面,如图 10-3,10-4所示 。
2,通过,文件,菜单,选择,新建,命令,然后按 1的步骤进行 。
3,通过项目管理器,选取,其它,选项卡,选择,菜单,,然后单击,新建,按钮 。
4,通过命令方式打开菜单设计器建立或打开菜单 。
CREATE MENU〈 菜单文件名〉
或 MODIFY MENU<菜单文件名 >
目录 上一页 下一页 退出2009-7-27 12
图 10-4 菜单设计器窗口移动按钮图 10-3,新建菜单,对话框目录 上一页 下一页 退出2009-7-27 13
二、如何使用菜单设计器
1.菜单名称列,用来输入菜单项的名称 。 菜单项可定义热键,其方法是在热键的字符前加上,\<” 两个字符 。
2.结果列,用于菜单项的操作。单击该列弹出下拉列表框,有命令、填充名称、子菜单和过程选项。
3.选项列,用于定义菜单项的附加属性。单击该列无符号按钮,出现,提示选项,对话框供用户定义菜单项的附加属性。
4,菜单级组合框,用于从下级菜单页切换到上级菜单页。
5.插入按钮,用于在当前菜单项行之前插入一个新的菜单项行。
6.预览,显示所创建的菜单。一旦启动了菜单设计器,
Visual FoxPro的系统菜单会多出一项,菜单”,该菜单中集成了与菜单设计相关的菜单项。
目录 上一页 下一页 退出2009-7-27 14
7.删除按钮,用于删除当前的菜单项行 。
8.预览按钮,用于预览菜单效果 。
9.移动按钮,用于拖动菜单项左侧的移动按钮,改变菜单项的先后位置。
10.插入栏按钮,提供与系统菜单一样的菜单项作为用户菜单的命令。单击,插入栏,按钮,弹出,插入系统菜单栏,
对 话框。如图 10-5所示。
图 10-5,插入系统菜单栏,对话框目录 上一页 下一页 退出2009-7-27 15
三、常规选项与菜单选项菜单设计器窗口打开后,VFP“显示,菜单项的下拉菜单中将包含,常规选项,和,菜单选项,两个命令,它们与菜单设计器窗口相结合,可使菜单设计更加完善。
1.,常规选项,对话框在,显示,菜单中单击,常规选项,命令,出现,常规选项,对话框,如图 10-6所示。该对话框可以定义整个下拉式菜单的总体属性。
“常规选项”是针对整个菜单的,它的主要作用:
其一,为整个菜单指定一个过程。
其二,可以确定用户菜单与系统菜单之间的位置关系。
其三,为菜单增加一个初始化过程和清理过程。
目录 上一页 下一页 退出2009-7-27 16
2.,菜单选项,对话框在,显示,菜单中单击,菜单选项,命令,出现,菜单选项,对话框。该对话框中有一个过程编辑框,可供用户为当前弹出式菜单写入公共的过程代码和 修改菜单项的名称,如图 10-7所示。
图 10-6,常规选项,对话框 图 10-7,菜单选项,对话框目录 上一页 下一页 退出2009-7-27 17
第三节 创建菜单创建菜单,菜单项和子菜单方法和步骤
【 例 10-4】 利用菜单设计器建立一个图书管理系统菜单 (system.mpr),其条形菜单的菜单项如图 10-8所示 。 其中文件操作,数据录入,信息查询,编辑修改等菜单项均有下拉菜单,在信息查询下拉菜单中还包含有子菜单 。
图 10-8 图书管理系统菜单目录 上一页 下一页 退出2009-7-27 18
条形菜单、各下拉菜单及子菜单创建操作步骤如下:
1.打开菜单设计器窗口。
2.在,菜单名称,列中,输入条形菜单中各菜单项名称并指定热键。在,结果,列中选定,子菜单,,右侧出现,创建,按钮,点击该按钮创建下拉菜单;在
,结果,列中选定,命令,选项,在,命令,的右边输入菜单项执行的命令。如图 10-9所示。
图 10-9 设置条形菜单的菜单项目录 上一页 下一页 退出2009-7-27 19
3.创建,信息查询,菜单项的下拉菜单和下拉菜单中
,综合信息,菜单项的子菜单。如图 10-10所示。
图 10-10,信息查询,菜单项的下拉菜单设置目录 上一页 下一页 退出2009-7-27 20
4.设置,文件操作,菜单项的下拉菜单。选定,文件操作,所在行,单击,创建,,选取,插入栏 …,按钮,
弹出如图 10-4所示的,插入系统菜单栏,对话框,从中选取所需的 Visaul FoxPro菜单项,如图 10-11所示。
图 10-11,文件操作,菜单项的下拉菜单设置目录 上一页 下一页 退出2009-7-27 21
5.设计菜单组的分隔线。对,文件操作,下拉菜单中的菜单项
,关闭,和,另存为,命令项的下面添加分隔线,可在,关闭,菜单项和,另存为,菜单项的下一行的,菜单名称,栏中,键入,\—” 即可。如图 10-8所示。
6.增加快捷键。如对,编辑修改,菜单项增加快捷键。在
,菜单名称,栏中选定,编辑修改,菜单项,选择该行上的
,选项,按钮,弹出如图 10-12所示的,提示选项,对话框,
在对话框中的,键标签,框中按下组合键 CTRL+E,则在键标签和键说明中会出现所按下的快捷键。
重复上述操作,可以为所有的菜单项定义快捷键。
7.编写过程。如,退出系统,菜单项编写过程,在,菜单名称,栏中选定,退出系统,菜单项,在,结果,列中选取
,过程,,单击,创建,,在弹出的文本编辑窗口中输入以下代码:
SET SYSMENU NOSAVE
SET SYSMENU TO DEFAULT
目录 上一页 下一页 退出2009-7-27 22
8.保存菜单。从,菜单级,列表框中选择,菜单栏,,返回主菜单。单击文件下拉菜单的保存选项或单击工具栏中的保存按钮,然后在弹出的保存文件对话框中,输入要保存的路径和文件名,如,d:\system.mnx。
9.生成菜单程序。单击,菜单,项,从弹出的下拉菜单中选取,生成,命令,在,输出文件,文本框中输入,d:\system.mpr,单击,生成,按钮,则生成菜单程序文件,system.mpr。
10.运行菜单程序,do system.mpr
图 10-12,提示选项,对话框目录 上一页 下一页 退出2009-7-27 23
1,进入菜单设计器。
2,在,菜单,项的下拉菜单中选择,快速菜单,命令,
则一个 Visual FoxPro系统菜单自动加载到菜单设计器中,如图 10-13所示。
第四节 用快速菜单创建菜单图 10-13 建立快速菜单后的菜单设计器窗口目录 上一页 下一页 退出2009-7-27 24
3,将菜单设计器的第一行置为当前行。单击,编辑,按钮可使,菜单设计器,进入子菜单进行编辑。
说明:
(1) 快速生成的菜单和系统菜单相同,其中的功能项可以在菜单设计器中进行增加,修改或删除 。
(2) 快速菜单只有在菜单设计器窗口为空时才允许选择,
否则它是浅色的 。
(3) 快速菜单仅用于产生下拉式菜单。若需改变菜单栏上各菜单项位置,则通过拖动移动钮实现。
目录 上一页 下一页 退出2009-7-27 25
第五节 创建快捷菜单利用,快捷菜单设计器,仅能生成快捷菜单的菜单本身,实现单击右键来弹出一个菜单的动作还需要编程。
【 例 10-5】 建立一个具有撤消,剪切,复制,粘贴等功能的快捷菜单 (autcp.mpr),供浏览读者表时使用 。 当用户在浏览窗口单击鼠标右键时,即出现此快捷菜单 。
操作步骤如下:
( 1)打开快捷菜单设计器窗口。
单击工具栏中的,新建,按钮,打开,新建,对话框,
选择,菜单,按钮,再单击,新建文件,按钮,在屏幕出现的,新建菜单,对话框中选择,快捷菜单,按钮,进入快捷菜单设计器。
目录 上一页 下一页 退出2009-7-27 26
(2) 插入系统菜单栏 。
在快捷菜单设计器窗口中,选择,插入栏,按钮,在出现的,插入系统菜单栏,对话框中选择,粘贴,选项,再单击,插入,按钮,则,粘贴,作为菜单项出现在快捷菜单中。同样在快捷菜单中可插入,复制,,
,剪切,,,撤消,,,清除,等选项,最后单击
,关闭,按钮 。
( 3) 生成菜单程序 。
打开,菜单,菜单项的下拉菜单,选择,生成,命令,
在,保存菜单为,输入框中输入 autcp.mpr文件名,单击,保存,按钮,在,生成菜单,对话框中选择,生成,按钮,就会生成菜单程序 autcp.mpr 。
(4) 编写调用程序 。
命令方式,MODI COMM dyautcp
按回车键后出现程序编辑窗口。
目录 上一页 下一页 退出2009-7-27 27
CLEAR ALL
PUSH KEY CLEAR && 清除以前设置过的功能键
ON KEY LABEL RIGHTMOUSE DO autcp.mpr
&&单击鼠标右键执行快捷菜单
USE 读者
BROWSE
USE
PUSH KEY CLEAR
关闭程序编辑窗口,并以 dyautcp文件名进行保存。
(5) 运行调用程序及快捷菜单程序。
命令方式,DO dyautcp
浏览窗口出现在屏幕上以后,当选择任何数据单击右键时,随即弹出快捷菜单,如图 10-14所示。
目录 上一页 下一页 退出2009-7-27 28
图 10-14 快捷菜单在浏览窗口中的使用目录 上一页 下一页 退出2009-7-27 29
【 例 10-6】 运用例 10-5创建的快捷菜单 autcp.mpr,设计一个编辑器表单 (editform.scx),使对编辑器中输入的文本可以进行清除,撤消,剪切,复制和粘贴等操作 。 操作步骤如下:
1.进入表单设计器,从表单控件工具栏单击 编辑 控件 按钮,拖至表单添加一个编辑框。
2.在属性对话框中,将表单 Caption属性设置为“编辑器”,双击编辑框的 RightClickEvent属性。
3.在弹出的 RightClickEvent属性代码编辑框中编写方法程序。如图 10-15所示。
DO AUTCP.MPR
&& 当单击鼠标右键时执行快捷菜单 autcp.mpr
4.保存、运行表单以及测试快捷菜单。
目录 上一页 下一页 退出2009-7-27 30
5.运行创建的表单,在表单的编辑器内输入文本,单击鼠标右键弹出快捷菜单,则此时可对选中的文本进行清除、撤消、剪切、复制和粘贴等操作,如图 10-16所示。
图 10-16 在编辑器中使用快捷菜单图 10-15 为单击按钮编写方法程序目录 上一页 下一页 退出2009-7-27 31
第六节 修饰菜单设计运用菜单设计器设计完菜单后,窗口的标题是
,Microsoft Visual FoxPro”,这是系统窗口的默认标题,运用顶层表单的设计方法,可以将此标题改为其它的标题。方法是,
1.首先建立一个下拉式菜单文件。设计菜单时,在
“常规”选项中,选中“顶层表单”复选框,然后生成菜单程序文件。
2.创建一个表单,将表单的 Show Windows属性值设为 2,
使该表单成为顶层表单,然后在表单的 Init事件代码中添加代码,DO <菜单程序名 > WITH THIS,.T,
目录 上一页 下一页 退出2009-7-27 32
【 例 10-7】 为图书管理系统设计顶层表单操作步骤如下:
1,打开 【 例 10-4】 创建的 system.mnx菜单,将系统的
,显示,菜单项下的,常规选项,对话框打开,选中
,顶层表单,,然后重新,生成,菜单 。
2,创建标题表单 (mainform.scx),设置其 Caption属性为:,图书管理系统 2.0 版,,Show Windows属性设置为:,2—作为顶层表单,。 在表单中添加两个标签控件,将它们的 Caption属性分别设置为,欢迎使用图书管理系统,和,教学演示参考,,并设置好字体,
字号等属性 。
3,为表单的 Init事件编写方法程序:
DO system.mpr WITH THIS,.T,
目录 上一页 下一页 退出2009-7-27 33
4,运行 mainform.scx表单,出现如图 10-17所示的窗口。从图中可看出,该表单已不在 Visual FoxPro窗口中,而是一个单独的表单。使用该表单作为应用程序的启动表单,就可使用户菜单在自己的窗口中。
图 10-17 顶层表单目录 上一页 下一页 退出2009-7-27 34
第七节 工具栏在许多应用软件中都有自己的工具栏。设置工具栏的主要目的是为方便用户操作。
1,定制系统工具栏定制系统工具栏的操作步骤:
( 1) 打开需定制设置的系统工具栏,如,报表设计器,
工具栏;
( 2) 单击 【 显示 】 |【 工具栏 】 菜单项,打开,工具栏,
对话框,如图 10-18所示 。
目录 上一页 下一页 退出2009-7-27 35
( 3)单击“定制”按钮,打开“定制工具栏”对话框,如图 10-
19所示。在“分类”列表框选择某类工具栏,“按钮”栏显示相关的所有按钮,选中某个按钮后,“说明”栏显示该按钮的相关说明文本;
图 10-19 定制工具栏图 10-18 工具栏目录 上一页 下一页 退出2009-7-27 36
(4) 定制设置工具栏。
(5) 工具栏定制完成,单击“关闭”按钮。
2,创建新的工具栏可以为 Visual FoxPro创建新的系统工具栏,操作步骤如下:
(1) 单击图 10-18中,新建,按钮,打开如图 10-20所示
,新工具栏,对话框;
(2) 输入新工具栏名称如,我的工具栏,,单击,确定,
按钮;
(3) 屏幕出现新建的,我的工具栏,工具栏 ( 没有一个按钮 ),同时打开,定制工具栏,对话框;
目录 上一页 下一页 退出2009-7-27 37
(4) 将相关按钮拖到该工具栏,创建,设置对应的功能按钮;
(5) 完成后单击,关闭,按钮 。
图 10-20 新 工具栏
2009-7-27 38