第 13章 菜单系统第 13 章菜 单 系 统本章主要介绍菜单设计器的使用方法,并列举实例来具体说明;对使用,快捷菜单设计器,创建快捷菜单也作了简单描述;最后介绍如何在项目中添加菜单系统 。
第 13章 菜单系统
13.1菜单系统概述
13.2 菜单设计器
13.2.1 进入菜单设计器
13.2.2 菜单设计器的界面
13.3 应用系统菜单设计实例
13.4 使用,快捷菜单设计器,创建快捷菜单
13.5 在项目中添加菜单系统教学内容第 13章 菜单系统各个应用程序的菜单系统内容可能不同,但其基本结构是相同的 。 Windows 9X的标准菜单系统通常由四大部分组成,菜单栏 (Menu Bar),菜单标题 (Menu Title),
菜单 (Menu),菜单项 (Menu Item) 。 如图 13.1所示 。
13.1 菜单系统概述
1.菜单系统的结构第 13章 菜单系统第 13章 菜单系统
2,设计菜单系统的原则
( 1) 根据用户要执行的任务组织菜单系统,即按应用程序的层次组织系统 。
( 2) 给每个菜单和菜单选项指定一个简短的标题 。
( 3) 按照估计的菜单项的使用频率,逻辑顺序或字母顺序来组织菜单中的菜单项 。
( 4) 按功能相近和顺序原则,将菜单项进行逻辑分组 。
( 5) 尽可能将一个菜单中的菜单选项数控制在一屏所能显示的范围 。
( 6) 常用的菜单选项可以设置热键或快捷键以方便操作 。
如 Ctrl+C为复制命令,Ctrl+V为粘贴命令等 。
第 13章 菜单系统
3,菜单系统的设计步骤
(1) 用菜单设计器创建菜单和子菜单,为菜单项指定任务;
(2)生成菜单程序;菜单与表单不同,它不能在设计器中直接生成程序代码,而必须专门生成菜单程序代码,在设计器中所做的一切将被保存在一个带,MNX扩展名的文件中 。 从系统的,菜单,菜单上选择,生成,命令,生成扩展名为
MPR的菜单程序;
(3) 测试运行菜单系统 。
第 13章 菜单系统
13.2 菜 单 设 计 器以下三种方式都可以进入菜单设计器的选择界面:
1,使用,项目管理器,。 即从项目管理器中选择,其他,选项卡,然后选择,菜单,,并单击,新建,按钮 。
2,使用,文件,菜单中的,新建,命令,选择,菜单,
单选按钮;然后再单击,新建文件,按钮 。
3,使用 CREATE MENU命令 。
13.2.1 进入菜单设计器第 13章 菜单系统系统将弹出,新建菜单,对话框,选择,菜单,按钮,即进入,菜单设计器,的界面第 13章 菜单系统菜单设计器的界面由以下几部分构成:
1.,菜单名称,框在此栏里输入菜单系统中的菜单标题或菜单项的名称,可以在欲设定为访问鍵的字母前面加上 ( \<) 。
2.,结果,栏指定在选择菜单标题或菜单项时发生的动作 。
3.,选项,按钮单击该按钮将打开一个,提示选项,对话框,
13.2.2 菜单设计器的界面第 13章 菜单系统
2.,结果,栏 选项:
( 1),命令,,在其右侧的文本框中为这个菜单项指定要执行的命令 。 ( 2),子菜单,,单击其后的,创建,按钮可进入新的一屏来创建子菜单 。 ( 3),过程,,单击其后的,创建,按钮可进入过程代码编辑窗口,供输入过程代码 。 在应用系统中选择该菜单项后将执行该过程 。 ( 4),填充名称,,
在其右侧的文本框中输入一个名字,为菜单标题指定在菜单系统中引用它时的菜单名称 。 ( 5),菜单项#,,在其后的文本框中为这个菜单项指定一个系统菜单中的菜单项 。
第 13章 菜单系统
3.单击,选项,按钮 将打开一个,提示选项,对话框第 13章 菜单系统
( 1) 快捷方式:指定菜单或菜单项的快捷键,Visual
Foxpro 中的键盘快捷键是 Ctrl键与其他键的组合。
( 2) 键说明,该文本框中的内容将显示在菜单项标题的旁边,一般会自动出现与快捷方式中相同的内容 。
( 3) 跳过:单击该选项右边的对话按钮将显示表达式生成器,如图 13.5所示 。 在表达式生成器的,跳过,文本框中输入表达式 。 运行时,当表达式的值为,真,时,该菜单项不可用,即,跳过,。
第 13章 菜单系统
( 4) 信息,在信息文本框中输入用于说明当前选定菜单
( 项 ) 的信息 。 当鼠标指向该菜单 ( 项 ) 时,将在 Visual
Foxpro的状态栏中显示这个信息 。
( 5) 主菜单名:可以指定一个菜单名称 。 这个名称是在菜单源代码中引用这个菜单时用的 。 若不指定,菜单设计器将自动分配菜单名称 。
( 6) 菜单项#:允许指定可选的菜单标题 。 此选项只对快捷菜单可用 。
( 7) 备注:可以填入有关此菜单或菜单项的备注文字 。 它只在该对话框中可见,在任何情况下都不影响所生成的代码,
运行菜单程序时备注将被忽略 。
第 13章 菜单系统
4,菜单级用户选择要处理的菜单或子菜单 。 从该下拉列表框中选择适当菜单级,即可进行相应级别菜单的设计 。
5.,菜单项,栏的命令按钮有三个命令按钮:插入,删除,插入栏 。
单击,插入,按钮可以在菜单设计器窗口中插入新的一行 。
单击,删除,按钮可以在菜单设计器中删除当前行 。
单击,插入栏,按钮将显示,插入系统菜单栏,对话框,
第 13章 菜单系统图 13.6,插入系统菜单栏,对话框第 13章 菜单系统
6,预览显示正在创建的菜单 。 单击此按钮可查看所设计菜单的样式 。 在所显示的菜单中可以进行选择,检查菜单的层次关系及提示是否正确等 。 但这种选择不会执行各菜单项的相应功能 。
一旦启动了菜单设计器,
Visual Foxpro的系统菜单会多出一项,菜单,,
该菜单中包含与菜单设计相关的菜单项,如图
13.7所示 。
第 13章 菜单系统
1.创建主菜单菜单文件名为,library_menu”,主菜单包含,系统,,
,读者类型管理,,,读者信息管理,,,书籍类型管理,,
,书籍信息管理,,,借还书信息管理,,,窗口,,
和,帮助,8个菜单选项 。 步骤如下:
( 1) 进入,菜单设计器,;
( 2) 在,菜单设计器,窗口,定义主菜单中各菜单项名,
如图 13.8所示;
( 3) 保存菜单文件,文件名为,library_menu.mnx”。
13.3,图书管理信息系统” 应用系统菜单设计实例第 13章 菜单系统图 13.8 菜单栏级别的设计第 13章 菜单系统
2,创建子菜单当菜单栏内的菜单添加完成后,可以针对每一个菜单单击
,创建,按钮来设计下一级菜单 。 进入下一级菜单后,,菜单级,框中显示的不再是,菜单栏,,而是这个下级菜单所对应的菜单名称 。 下面 为菜单文件 library_menu.mnx中各菜单选项创建子菜单 。 步骤如下:
( 1) 打开菜单文件,进入,菜单设计器,窗口 。
( 2) 在,菜单设计器,窗口,选择我们创建的,系统,菜单选项,再单击,创建,按钮,进入,菜单设计器,子菜单编辑窗口 。 注意此时,菜单级,显示为,系统,。 定义,系统,选项中各子菜单选项名,如图 13.9所示 。
第 13章 菜单系统
( 3) 将窗口中,菜单级,的选项由,系统,选为,菜单栏,,进入到主菜单的编辑窗口 。 分别定义,读者类型管理,,,读者信息管理,,,书籍类型管理,,,书籍信息管理,,,借还书信息管理,,,窗口,和,帮助,各菜单的下级菜单选项名 。
( 4) 以,library_menu”为名保存在相应的文件夹中 。
第 13章 菜单系统
3,为菜单 ( 项 ) 指定任务创建菜单系统时,需为菜单和菜单项指定所执行的任务,
如显示某个表单或其他菜单系统,弹出对话框等 。 菜单选项的任务可以是子菜单,命令或过程 。
以,图书管理信息系统,菜单中的菜单项,退出,为例,
单击,退出,菜单项的,创建,按钮,打开过程编辑器,
输入代码:
CLOSE DATABASE ALL && 关闭所有数据库
QUIT && 退出 VF系统第 13章 菜单系统
4,设置常规选项与菜单选项
( 1),常规选项,对话框选择 Visual Foxpro的,显示,菜单中的,常规选项,菜单项,
屏幕会出现,常规选项,对话框,如图 13.10所示 。
第 13章 菜单系统对话框中各选项的意义:
,过程,,创建菜单过程代码 。
,编辑,,将打开一个编辑窗口,在其中创建代码 。
,替换,,应用菜单系统替换 Visual Foxpro系统菜单 。
,追加,,把应用菜单系统添加在当前系统菜单的右侧 。
,在 …之前 ( 后 ),,将应用菜单系统插入到指定系统菜单的前 ( 后 ) 面 。
,设置,,打开编辑窗口,向菜单系统添加初始化代码 。
,清理,,打开编辑窗口,可以向菜单系统添加清理代码 。
,顶层表单,,选定,允许设计单文档界面 (SDI)菜单。未选定,只允许在 Visual Foxpro页框中使用该菜单。
第 13章 菜单系统
( 2),菜单选项,对话框当选择 Visual Foxpro系统的,显示,菜单中的,菜单选项,
命令,显示,菜单选项,对话框第 13章 菜单系统对话框中各选项的意义:
,名称,,可在,菜单级,提示列中键入一个新名称来更改它 。
,过程,,创建菜单过程代码或显示已存在的代码 。
,编辑,,打开编辑窗口,在其中创建代码 。
5,保存菜单在菜单设计过程中,可随时单击,预览,按钮预览所设计的菜单 。 菜单设计完成后,单击,文件,菜单中的,保存,,结果保存在菜单定义文件 library_menu.mnx 和备注文件
library_menu.mnt中 。
第 13章 菜单系统
6,生成菜单程序
,菜单设计器,设计的菜单文件其扩展名为,MNX,通过生成器的转换,生成的菜单文件其扩展名为,MPR。 当,MNX类型文件转换成,MPR类型文件后,才可使用 DO命令调用菜单文件 。 操作步骤如下:
(1) 打开菜单文件 library_menu.mnx,进入,菜单设计器,
窗口;
(2) 单击系统的,菜单,菜单下的,生成,菜单项,打开
,生成菜单,对话框,在该对话框中确定菜单程序保存位置。
单击,生成,按钮,生成对应的菜单程序文件
library_menu.mpr。
第 13章 菜单系统
7,运行菜单以下三种方式均可运行菜单:
( 1) 菜单方式:单击系统的,程序,菜单下的,运行,
菜单项,选择菜单程序文件名;
( 2) 命令方式:在命令窗口直接输入 DO <菜单文件名,MPR> 命令;
( 3) 项目管理器方式:在,项目管理器,中选择相应菜单文件并单击,运行,按钮 。
第 13章 菜单系统若要在顶层表单中添加菜单,如 在 form1.scx表单中创建一个,图书管理信息系统,菜单,效果 如图 13.12所示 。
第 13章 菜单系统操作步骤如下:
( 1) 打开 library_menu.mnx菜单文件;
( 2) 在系统的,显示,菜单下选择,常规选项,,弹出
,常规选项,对话框,在对话框里选定,顶层表单,复选框,创建顶层表单的菜单;
( 3) 单击,保存,按钮保存设计的菜单;
第 13章 菜单系统
( 4) 单击系统的,菜单,菜单下的,生成,菜单项,打开,生成菜单,对话框;在该对话框中确定菜单程序保存位置,单击,生成,按钮;
( 5) 打开已有的表单文件 form1.scx,并将其 ShowWindow
属性设置为,2-作为顶层表单,;
在表单的 Init事件代码中添加调用菜单程序的命令:
DO library_menu.mpr WITH THIS,.t.
即可调用 SDI菜单 。
第 13章 菜单系统
13.4 使用,快捷菜单设计器,创建快捷菜单
1,打开,快捷菜单设计器,窗口 。 在图 13.2中选择,快捷菜单,即进入,快捷菜单设计器,窗口 。
第 13章 菜单系统
2,添加菜单项;
3,为每个菜单项指定任务;
4,单击 系统的,显示,菜单下的,常规选项,菜单项,
打开,常规选项,对话框,在快捷菜单的,清理,代码中添加清除菜单的命令,RELEASE POPUPS <快捷菜单名 >
[EXTENDED] 。
5,保存菜单,并生成,MPR菜单文件;
6,将快捷菜单指派给某个对象 。 为该对象的,RightClick”
事件编写如下代码,DO <快捷菜单文件名>,注意文件的扩展名,MPR不能省略 。
第 13章 菜单系统菜单系统设计完成后,为使它成为一个应用系统的一部分,必须把它添加到项目中 。
在项目中添加菜单系统的步骤如下:
首先,打开已经创建的项目文件,进入项目管理器 。 在项目管理器窗口中单击,其他,选项卡,可以看到它包含的,菜单,项,
13.5 在项目中添加菜单系统第 13章 菜单系统选中该,菜单,项,单击,添加,按钮弹出,添加,对话框,从对话框中选择需要添加的菜单,单击,确定,按钮就可以把该菜单添加到项目中了 。
选定刚刚添加的菜单,单击对话框中的,运行,按钮,
可以看到菜单的运行效果 。
将一个文件添加到一个项目中,并不意味该文件已经成为该项目的一部分,只是文件与项目之间建立了某种关系,
实际上每个文件还是以独立的形式存在 。