• 沒有找到結果。

习题 3 参考解答

2.8 菜单与工具栏设计

2.8.1 复习提要与学习指导

1.了解菜单系统的组成和工具栏的作用。

2.了解菜单的种类(一般菜单——常见的系统菜单、快捷菜单——通过右击来调用)、 菜单文件的存储(菜单文件.mnx,菜单备注文件.mnt),掌握用菜单设计器设计菜单的方法。

3.掌握菜单程序(.mpr)的生成、运行和恢复系统菜单的命令。

菜单程序文件(.mpr):是菜单的执行文件,每次修改菜单后,都必须重新生成。

菜单的运行:Do 菜单程序文件名.mpr 恢复系统菜单的命令:set sysmenu to default

4.掌握为菜单项指定任务、定义热键和快捷键的方法以及设置启用和废止菜单项的方法。

(1)为菜单项指定任务:

菜单设计器中结果栏——命令、过程(多条命令)、菜单项、子菜单。

(2)在“显示”菜单的“常规选项”:

通用过程——是在菜单项没有指定自己的代码时,执行的公共过程代码;

设置代码——又称为初始化代码,在运行菜单时最先执行;

清理代码——在菜单退出时执行;

设置菜单项的位置——例如 在……之前、追加、替换(默认)

(3)定义菜单热键(访问健):在菜单标题中设置——\<字母

(4)菜单的提示选项对话框:

定义快捷键——Ctrl+字母;

启用和废止菜单项——跳过(当条件为真,该菜单项为灰色,表示当前不可用);

菜单的信息——当选定该菜单项时,在系统状态栏上显示的文本(要加引号)。

(5)菜单项的分组——“\-”产生分组线。

5.掌握 SDI 菜单的创建方法以及将 SDI 菜单附加到顶层表单的方法。

运行于顶层表单中的菜单,称为 SDI 菜单。将 SDI 菜单附加到顶层表单的方法如下:

(1)将一般菜单建立好,在常规选项对话框中选定顶层表单

(2)将普通表单的 showwindow 属性设置为 2—作为顶层表单

(3)在 SDI 表单的 INIT 事件代码中输入命令:Do 菜单程序文件名.mpr with this , .T.

6.了解创建自定义工具栏类的方法,以及将自定义工具栏添加到表单集的方法。

(1)工具栏:类名 toolbar,必须在类设计器中设计工具栏,然后将它添加到表单设计 器中。

(2)可以出现在工具栏中的控件:除表格控件以外,所有可以出现在表单中的控件。

注意

如果表单要添加工具栏,必须先建立表单集,因为工具栏本身也是一个 表单。

2.8.2 习题 8 及参考解答

一、选择题

1.设计菜单要完成的最终操作是( )。

A.创建主菜单及子菜单 B.指定各菜单任务 C.浏览菜单 D.生成菜单程序 2.为一个表单建立了快捷菜单,要打开这个菜单应当( )。

A.用右键 B.用快捷键 C.用事件 D.用菜单 3.要使“文件”菜单使用“F”作为访问键,可用( )定义该菜单标题。

A.文件(F) B.文件(<\F) C.文件(\<F) D.文件(<F) 4.在菜单设计器中,每个菜单的结果有( )四个选项。

A.子菜单、过程、命令和填充名称 B.子菜单、命令、过程和快捷菜单 C.菜单项、命令、过程和快捷菜单 D.子菜单、菜单项、过程和快捷菜单 5.将一个预览成功的菜单存盘,再运行该菜单,却不能执行。这是因为( )。

A.没有放到项目中 B.没有生成程序 C.要用命令方式 D.要编入程序

6.用户设计菜单时,Visual FoxPro 系统默认的菜单位置是( )。

156 Visual FoxPro 程序设计实训与考试指导(第二版)

A.替换原有菜单系统 B.追加在原有菜单之后

C.插入到原有菜单之前 D.与原菜单系统无关

7.在菜单设计器中设计好菜单之后,系统即生成一个扩展名为( )的菜单文件,它 不是一个可执行的程序。

A..MNX B..MPR C..QPR D..DBC 8.在 Visual FoxPro 中,有关菜单的下列说法不正确的是( )。

A.执行菜单源程序文件的命令为“DO MENU 菜单文件名”

B.在菜单设计器中设计菜单时,要给菜单项分组,可在相应分组位置加入“\-”

C.在菜单设计器中设计菜单时,要给菜单项设置访问键 F,可在该菜单项后加入

“(\<F)”

D.在 Visual FoxPro 中,也可以设计快捷菜单

9.为表单建立了快捷菜单 MYMENU,调用快捷菜单的命令代码 DO mymenu.mpr With This 应该放在表单的( )事件中。

A.Desory B.Init C.Load D.RightClick 10.恢复系统默认菜单应使用命令( )。

A.SET DEFAULT TO SYSTEM B.SET MENU TO DEFAULT C.SET SYSMENU TO DEFAULT D.SET SYS TO DEFAULT 二、填空题

1.在 Visual FoxPro 中,可以创建两种类型的菜单,它们分别是________、________。

2.用菜单设计器设计的菜单文件的扩展名是________,生成的菜单程序的扩展名是 ________,运行菜单程序的命令是________。

3.若要使内容相关的菜单项分隔成组,需要在“菜单名称”栏中键入________,以创 建一条分隔线。

4.用户设计菜单系统时,既可通过________实现,也可通过________实现。

5.要为表单设计下拉式菜单,首先需要在菜单设计时,在________对话框中选择“顶 层表单”复选框;其次要将表单的________属性值设置为 2,使其成为顶层表单;最后需要 在表单的________事件代码中设置调用菜单程序的命令。

三、操作题

在图 8-16 所示的表单中建立一个下拉式菜单,并编程实现其中的功能。

图 8-16 表单菜单的运行效果

习题 8 参考解答

一、选择题

1~5:DACAB 6~10:AAADC 二、填空题

1.下拉式菜单、快捷菜单

2.MNX、MPR、DO <菜单文件名>.MPR 3.\-

4.菜单设计器、直接编写代码

5.“显示”→“常规选项”、ShowWindow、Init 三、操作题

操作提示:

(1)设计一个顶层表单,并在其中添加数据环境,然后将相关字段拖至表单并按要求 设置好相关属性;最后需要在表单的 Init 事件代码中设置调用菜单程序的命令。

(2)利用菜单设计器设计菜单,并参考填空题 5 进行相关设置。

相關文件