第 8 章 菜单与工具栏

21
22/6/8 1 8 第 第第第第第第

Upload: lazar

Post on 16-Jan-2016

136 views

Category:

Documents


0 download

DESCRIPTION

第 8 章 菜单与工具栏. 【 教学内容 】 • 设计菜单 • 利用“菜单设计器”创建菜单系统 • 创建快捷菜单 • 向菜单添加事件代码 • 创建 SDI 菜单和实例 • 设计工具栏. 【 教学要求 】 • 了解: 菜单的概念 • 理解: 菜单系统的规划原则; 定义工具栏类的方法。 • 掌握: 利用“菜单设计器”创建菜单系统; 向菜单添加事件代码; - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第   8  章 菜单与工具栏

23/4/21

1

第 8 章 菜单与工具栏

Page 2: 第   8  章 菜单与工具栏

23/4/21

2

【教学内容】

• 设计菜单 • 利用“菜单设计器”创建菜单系统 • 创建快捷菜单 • 向菜单添加事件代码 • 创建 SDI 菜单和实例 • 设计工具栏

Page 3: 第   8  章 菜单与工具栏

23/4/21

3

【教学要求】

• 了解:菜单的概念

• 理解:菜单系统的规划原则; 定义工具栏类的方法。

• 掌握:利用“菜单设计器”创建菜单系统; 向菜单添加事件代码; 创建快捷菜单; 创建 SDI 菜单和实例; 定制工具栏。

Page 4: 第   8  章 菜单与工具栏

23/4/21

4

菜单和工具栏为用户提供了一个形式与结构更好的操作界面,更加方便用户选择执行应用程序的功能或使用应用程序的命令。菜单和工具栏是一个完整的数据库应用程序中的两个必要的组件。

菜单是用户在应用数据库应用程序中最先接触的所有功能的接口,菜单系统的质量不仅反映应用程序的功能模块的组织水平,同时也反映应用程序的界面友善性。工具栏是向用户提供常用功能的快捷方式,是设计实用性较强的应用程序的必要手段。

Page 5: 第   8  章 菜单与工具栏

23/4/21

5

8.1 设计菜单

创建菜单系统一般都需要以下步骤: ( 1 )规划和设计系统。确定需要有哪些菜单项,菜单要出现在界面的何处以及哪些菜单有子菜单等。 ( 2 )创建主菜单和子菜单。建立主菜单和子菜单,使用菜单设计器定义菜单标题、菜单项和子菜单。 ( 3)按实际要求为菜单系统指定任务 ( 4 )生成菜单程序。利用菜单设计器制作的菜单,将生成一个以 .mnx 为扩展名的菜单文件,并可以将此菜单文件生成一个 .mpr 为扩展名的程序文件。 ( 5)运行菜单程序,以测试菜单系统。通过运行菜单文件,可以检测菜单系统设计是否符合一般软件的菜单系统的设计原则,检查运行情况是否符合当前应用程序用户的特殊服务要求。然后对菜单设计进行必要修改。 。

Page 6: 第   8  章 菜单与工具栏

23/4/21

6

8.1 设计菜单

8.1.1 菜单系统的规划原则 设计菜单系统时,要遵循下列原则: ( 1 ) 按照用户所要执行的任务组织系统,而不要按应用程序的层次组织系统 。 ( 2)给每个菜单一个有意义的菜单标题。 ( 3 )按照估计的菜单项使用频率、逻辑顺序或字母顺序组织菜单项。 ( 4 )若某组菜单的命令较多,可以考虑在菜单项的逻辑组之间放置分隔线。 ( 5)将菜单上菜单项的数目限制在一个屏幕之内。 ( 6)尽可能地为菜单和菜单项设置快捷键或访问键。 ( 7)为菜单项指定任务,适当创建子菜单,不宜太多或太少。 ( 8)描述菜单项时,要使用日常用语而不要使用计算机术语。 ( 9)说明选择一个菜单项产生的效果时,应使用简单、生动的动词。 ( 10 )有些菜单组暂时不便定义,也要规划好它的位置,并在系统分析过程中记录下来,以备随后地检查。 ( 11 )在帮助内容中为菜单中的命令设计相应的功能与操作的说明文本。 ( 12 )在菜单项中混合使用大小写字母。

Page 7: 第   8  章 菜单与工具栏

23/4/21

7

8.1 设计菜单

8.1.2 利用“菜单设计器”创建菜单系统 当一个菜单规划完成后,就可以利用“菜单设计器”创建一个菜单。 “菜单设计器”的主要功能可以描述如下: • 为应用程序建立下拉式菜单。 • 通过定制 Visual FoxPro 8.0 系统菜单,建立下拉式菜单。 • 通过下拉式菜单的树形结构完成对若干模块应用程序的调用。 • 利用其他应用程序、表或表达式实现对菜单项有效性的设置。 • 利用其他应用程序设计快速菜单。 打开“菜单设计器”创建菜单的常用方法有以下几种: • 选择“文件”菜单中的“新建”命令,打开“新建”窗口,选择“菜单”项,单击“新建”按钮,弹出“新建菜单”对话框… • 从常用工具栏上单击“新建”按钮,选择“菜单”项,弹出“新建菜单”对话框… • 在“项目管理器”中的“其他”选项卡中,选择“菜单”,单击 “新建”按钮… • 采用命令格式:在“命令”窗口中, CREATE MENU [<文件名 >],其中的 <文件名 >指菜单文件,扩展名是 .mnx ,允许缺省。

Page 8: 第   8  章 菜单与工具栏

23/4/21

8

8.1 设计菜单

1. 创建菜单 ( 1 )在“项目管理器”的“其他”选项卡中,选择“菜单” 项,单击 “新建”按钮,弹出 “新建菜单”对话框。这时可以选择要创建的两种菜单形式,一种是下拉式菜单,一种是快捷菜单。 ( 2)单击“菜单”按钮,弹出“菜单设计器”窗口, ( 3)在“菜单设计器”窗口中的“菜单名称”栏中输入菜单的名称,并在“结果”中选择菜单项的类型,调整菜单栏的位置,一级菜单设计完成, 2. 创建菜单项(子菜单) 每一个菜单项都表示用户希望执行的 Visual FoxPro 8.0 命令或过程,菜单项也可以包含用于提供其他菜单项的子菜单。 ( 1)在“菜单名称”栏选择要添加菜单项的菜单。 ( 2 )在“结果”框中选择“子菜单”,此时其有侧会出现“创建”按钮。如果已经存在子菜单,则会出现“编辑”按钮。 ( 3 )单击“创建”按钮或“编辑”按钮。进入“菜单设计器”窗口的下一屏幕。 ( 4)在“菜单名称”栏中,输入新建的各菜单项名称,并按屏幕上的各个选项对子菜单进行编辑。

Page 9: 第   8  章 菜单与工具栏

23/4/21

9

8.1 设计菜单

3. 菜单项分组 为了增强各菜单项的逻辑性,提高菜单项的可读性 ,可以利用分隔线将内容相关的菜单项分组。 ( 1)选择要插入分隔线的菜单项,单击“插入”按钮。 ( 2 )出现“新菜单项”栏,将该栏名称输入“ \-”,即可创建一条分隔线。 ( 3)也可以先建成“ \-”栏,拖动其左侧的双箭头按钮,将分隔线拖动到适当位置。 4. 为菜单项指定访问键 功能比较完备的菜单,一般要为菜单设计访问键,从而可以通过键盘快速的访问菜单。在菜单标题或菜单项截面上,访问键用带有下划线的字母表示。 5 . 为菜单项指定快捷键 使用快捷键是让用户在按下某个键的同时,再按另一个键而选择菜单或菜单项。在图 8.4 所示的“按下要定义的键”,可以用来设置菜单项的快捷键

Page 10: 第   8  章 菜单与工具栏

23/4/21

10

8.1 设计菜单

6. 启用和禁用菜单项 菜单的启用或禁止是根据所给条件计算得到,当条件为 .T. 时即将菜单或菜单项变为无效。如不设置条件,系统默认为 .F. ,即启用。如果菜单禁止,那么菜单中的所有菜单项均无效,设置步骤如下: ( 1)在“菜单名称”栏中,选择相应的菜单或菜单项。 ( 2)单击“选项”按钮,弹出“提示选项”对话框。 ( 3)在“跳过”栏中或利用“表达式生成器”输入逻辑表达式,即可完成菜单项的启用和禁用设置。 7. 为菜单或菜单项指定任务 ( 1 )使用命令完成任务 菜单或菜单项要执行的命令,可以是任何一个 Visual FoxPro 8.0 命令 ( 2 )使用表单完成任务 在菜单或菜单项上,使用命令或过程可以显示编译过的表单或对话框。例如,在“系统维护”子菜单中,调用“ mmxg.scx”表单就是利用命令实现的。运行菜单就可以调用密码修改的表单,实现本系统的密码修改。 ( 3 )调用报表完成任务 利用报表为菜单指定任务,实际上也是通过命令来实现。

Page 11: 第   8  章 菜单与工具栏

23/4/21

11

8.1 设计菜单

8. 定义菜单标题的位置 在应用程序中,可以预先设置用户自定义菜单标题的位置,其具体操作步骤如下: ( 1)打开菜单文件“菜单设计器”对话框。 ( 2)选择菜单“显示”中的“常规选项”命令,参看图 8.16 所示。 ( 3 )在弹出的“常规选项”对话框中,选择适当的“位置”选项,即“替换”、“追加”、“在…之前”或“在…之后”。单击“确定”按钮保存。 ( 4)对菜单进行“生成”操作后, Visual FoxPro 8.0会重新排列菜单标题的位置。 9. 生成菜单程序 要执行菜单文件,必须先生成菜单程序文件( .MPR),要生成菜单程序文件( .MPR),主要有下列两种方式: • 选择菜单“菜单”中的“生成”命令,在“生成菜单”对话框中单击“生成”按钮即可。 • 在“项目管理器”中,选择菜单文件,单击“运行”按钮或“连编”按钮,系统将自动生成菜单程序文件

Page 12: 第   8  章 菜单与工具栏

23/4/21

12

8.1 设计菜单 8.1.3 创建快速菜单 利用“快速菜单”功能创建菜单系统的步骤如下: ( 1 )在“项目管理器”的“其他”选项卡中,选择“菜单”项,单击“新建”按钮。 ( 2 )在弹出的“新建菜单”对话框中单击“菜单”按钮,此时出现“菜单设计器” ,并且在菜单栏中出现“菜单”项。 ( 3)单击菜单“菜单”中的“快速菜单”命令,“菜单设计器”中便包含了 Visual FoxPro 8.0 主菜单的信息。 ( 4)通过添加或更改菜单项定制菜单系统后,保存即可。8.1.4 创建快捷菜单 1. 快捷菜单的创建过程 创建快捷菜单的具体操作步骤如下: ( 1 )在“项目管理器”的“其他”选项卡中,选择“菜单”项,单击“新建”按钮。 ( 2 )在弹出的“新建菜单”对话框中单击“快捷菜单”按钮,此时出现“快捷菜单设计器”,并且在菜单栏中出现“菜单”。 ( 3)添加菜单项的过程与创建菜单完全相同。 ( 4)单击菜单“菜单”中的“生成”命令,将所创建的快捷菜单进行生成和保存

Page 13: 第   8  章 菜单与工具栏

23/4/21

13

8.1 设计菜单 2. 将快捷菜单附加到控件中 具体步骤如下: ( 1)选择要附加快捷菜单的控件。 ( 2 )在“属性”窗口的“方法程序”选项卡中双击 RightClick Event 属性,打开控件的代码窗口。或者直接双击控件进入代码窗口,选择“过程” RightClick。 ( 3)在代码窗口中添加快捷菜单程序命令: DO <菜单文件名 .mpr> 注意: 引用快捷菜单时,必须调用扩展名为 .mpr 的菜单程序文件。 8.1.5 向菜单添加事件代码 1. 向菜单添加清理代码 为了让菜单停留在屏幕上等待用户选择,可以在“清理”代码窗口中加入代码 READ EVENTS,其具体步骤如下: ( 1 )打开“菜单设计器”对话框,选择菜单“显示”中的“常规选项”命令,弹出 “常规选项”对话框。 ( 2 )在“菜单代码”区域选择“清理”复选框,系统自动打开“清理”代码窗口。 ( 3 )在“常规选项”对话框中单击“确定”按钮,激活 Visual FoxPro 8.0 的“清理”代码窗口,输入正确的清理代码。 ( 4)按 Ctrl+w 存盘退出,关闭“清理”代码窗口。

Page 14: 第   8  章 菜单与工具栏

23/4/21

14

8.1 设计菜单

2. 设置初始化代码 初始化代码时在定义菜单系统之前执行的一些准备性设置程序,一般包含用于打开文件、声明变量或者将菜单系统保存到堆栈中以备恢复使用的代码。向菜单系统添加初始化代码的步骤如下: ( 1 )打开“菜单设计器”对话框,选择菜单“显示”中的“常规选项”命令,弹出 “常规选项”对话框。 ( 2 )在“菜单代码”区域选择“设置”复选框,系统自动打开“设置”代码窗口。 ( 3 )在“常规选项”对话框中单击“确定”按钮,激活 Visual FoxPro 8.0 的“设置”代码窗口,输入正确的初始化代码。 ( 4 )按 Ctrl+W 存盘退出,关闭“设置”代码窗口。返回“菜单设计器”对话框,保存菜单文件时, Visual FoxPro8.0 同时保存初始化代码。

Page 15: 第   8  章 菜单与工具栏

23/4/21

15

8.2 创建 SDI 菜单和实例

1. 创建 SDI菜单 用“菜单设计器”生成的菜单,运行后只能在 Visual FoxPro 8.0 系统的主窗口中显示,而不是显示为窗口的顶层。如果要将 Visual FoxPro 8.0 主窗口的主窗口隐藏,自行建立应用程序的主表单,就必须使用 SDI菜单完成。 SDI菜单是在 SDI( Single Document Interface,单文档界面)窗口中的菜单。如果要创建 SDI菜单,必须在设计菜单时指出用于 SDI 表单。其基本步骤如下: ( 1)打开要建成 SDI菜单的菜单文件“菜单设计器”对话框。 ( 2)选择菜单“显示”中的“常规选项”命令。 ( 3)在弹出的“常规选项”对话框中,选中“顶层表单”复选框。 ( 4)单击“确定”按钮。该菜单即可建成 SDI菜单。2. 在顶层表单中调用 SDI菜单 顶层表单是无父表单的独立的无模式表单,用于创建一个 SDI(Single Document Interface,单文档界面 )应用程序,或者作为其他子表单的父表单。

Page 16: 第   8  章 菜单与工具栏

23/4/21

16

8.2 创建 SDI 菜单和实例

利用顶层表单调用 SDI菜单,设计 SDI应用程序的步骤如下: ( 1)打开用来装载 SDI菜单的表单文件的“窗体设计器”窗口。 ( 2 )在该表单的“属性”窗口中,选择“布局”选项卡,将 SHOWWINDOW 属性的值设为“ 2-作为顶层表单”。 ( 3 )打开该表单的代码窗口,选择 Init 事件,然后在窗口中输入如下命令: DO SDI菜单名 .mpr WITH THIS, .T. ( 4)关闭代码窗口,保存表单文件,顶层表单建成。 3. 设计一个使用 SDI菜单的实例 示例:建立一个名称为“毕业生管理信息系统”的顶层表单,将菜单装载到表单中。 创建了 SDI菜单系统及相关表单以后,可将其包含在应用程序中,并由“项目管理器”建立应用程序。

Page 17: 第   8  章 菜单与工具栏

23/4/21

17

8.3 设计工具栏

8.3.1 定制 VisualFoxPro8.0 工具栏 1. 定制工具栏 定制 VisualFoxPro8.0 工具栏的步骤如下: ( 1)在“显示”菜单中选择“工具栏”,则弹出“工具栏”对话框 ( 2)选择要定制的工具栏,然后单击“定制”按钮,系统将显示要定制的工具栏和“定制工具栏”对话框。 ( 3)在“定制工具栏”对话框的“分类”列表框中,选择按钮所属类别,在“按钮”栏中则显示该分类的按钮。然后可以选择合适按钮,并拖到要定制的工具栏中。 ( 4 )在被定制的工具栏中选择按钮,并将按钮拖走。单击“定制工具栏”对话框的“关闭”按钮,即可完成工具栏的定制。 注意: 如果修改了 Visual FoxPro 8.0 某个工具栏,可以在“工具栏”对话框中选择该工具栏,单击“重置”按钮,即可将工具栏还原为原始配置。

Page 18: 第   8  章 菜单与工具栏

23/4/21

18

8.3 设计工具栏

2. 创建新工具栏 利用其他工具栏按钮创建新工具栏,操作步骤如下: ( 1 )在“显示”菜单中选择“工具栏”,则弹出“工具栏”对话框。然后单击“新建”按钮,弹出“新建工具栏” 对话框。 ( 2 )在“新建工具栏” 对话框中输入名称“新工具栏”,单击“确定”按钮,弹出“定制工具栏”对话框,选择一个分类,然后把需要的工具栏按钮拖到“新工具栏”中。 ( 3 )如果需要,可以通过拖动,重排新工具栏按钮。单击“定制工具栏”对话框的“关闭”按钮,即可完成新工具栏的创建。 3. 删除创建的工具栏 VisualFoxPro8.0 提供的工具栏是不能删除的,但可以删除新建的工具栏。删除新建的工具栏的步骤如下: ( 1)在“显示”菜单中选择“工具栏”,则弹出“工具栏”对话框。 ( 2 )选择要删除的一个新工具栏,单击“删除”按钮,出现一个提示对话框。 ( 3)在提示对话框中单击“是”按钮,即可删除该新工具栏。 ( 4)返回“工具栏”对话框后,单击“确定”按钮。

Page 19: 第   8  章 菜单与工具栏

23/4/21

19

8.3 设计工具栏

8.3.2 定义工具栏类的方法 VisualFoxPro8.0 提供了一个工具栏基类,在此基础上可以创建所需的类。定义了工具栏类以后,可向工具栏类添加对象,并为自定义工具栏定义属性、事件和方法程序,最后可将工具栏添加到表单集中。 1. 定义工具栏类 Visual FoxPro 8.0 提供了一个工具栏基类,在此基础上,可以创建所需的类。定义一个自定义工具栏类的操作步骤如下: ( 1 )在“项目管理器”中选择“类”选项卡,单击“新建”按钮,出现“新建类”对话框。 ( 2 )在“新建类”对话框中的“类名”文本框中输入类名称“用户工具”,在“派生于”列表框中选择 Toolbar ,在“存储于”框中输入类库名。 ( 3 )单击“确定”按钮,出现“类设计器” 对话框。然后,向自定义工具栏类中添加对象。 ( 4 )通过属性窗口修改其提示信息,通过“布局”工具栏调整它们的大小尺寸,最后通过“属性”窗口为控件对象设置属性,并在代码窗口中输入代码等。 ( 5)单击“关闭”按钮保存工具栏类。

Page 20: 第   8  章 菜单与工具栏

23/4/21

20

8.3 设计工具栏

2. 使用自定义工具栏类 要使用自定义工具栏类,首先需要用“窗体设计器”将工具栏与表单对应起来。可以按如下操作步骤进行: ( 1)首先注册并选定包含工具栏类的类库。 ( 2)在表单集上添加工具栏。 ( 3)在“窗体控件”工具栏中单击“查看类”按钮,从列表中选择该工具栏类库。在“窗体控件”工具栏中选择工具栏类如“用户工具”,单击当前控件的任意位置。在弹出的提示框中单击“是”按钮,建立一个表单集。 ( 4)在“窗体设计器”中将工具栏拖动到适当的位置。 ( 5)为工具栏按钮定义操作。依次类推,也为其他工具栏按钮定义操作,然后保存表单。 3.使用户自定义工具栏与菜单协调 在应用程序中同时使用工具栏和菜单,应用程序中的某些菜单项与工具栏功能相同。协调菜单和用户自定义工具栏按钮时,可以按照如下步骤: ① 通过创建工具栏类来创建工具栏,添加命令按钮,并将代码包含到对应 Click 事件的方法程序中。 ② 创建与之协调的菜单。 ③ 添加协调的工具栏和菜单到一个表单集中。

Page 21: 第   8  章 菜单与工具栏

23/4/21

21

the end