第十章菜单栏 10.1菜单系统结构及其应用 10.1.1菜单系统结构及其概念 10.1.2菜单设计器 10.1.3“菜单”、“显示”菜单 10.14菜单系统规划原则、步骤 10.2定制菜单系统 10.2.1快捷菜单 1022单文档菜单 10.23子菜单 10.24以编程方式添加菜单 1025分组各菜单 103菜单创建实例
第十章 菜单栏 10.1 菜单系统结构及其应用 10.1.1 菜单系统结构及其概念 10.1.2 菜单设计器 10.1.3 “菜单”、“显示”菜单 10.1.4 菜单系统规划原则、步骤 10.2 定制菜单系统 10.2.1 快捷菜单 10.2.2 单文档菜单 10.2.3 子菜单 10.2.4 以编程方式添加菜单 10.2.5 分组各菜单 10.3 菜单创建实例
10.1菜单系统结构及组成 10.11菜单系统结构及其概念 用户在使用软件查找信息之前,首先看到的便是菜单, Visual FoxPro的菜单系统实际上是一个树型结构。菜单栏是指菜单最上 面的一层,即几乎所有应用程序都有并始终都可看到的莱单名列 表栏:菜单栏中的每个菜单名代表了一个主菜单选项,主菜单项 的名称即菜单标题。例如:“文件”是一个主菜单项的标题,点 击主菜单项将它展开,显示它所具有的子菜单选项。每一个主菜 单项可以直接对应于一条命令或过程;一般每个主菜单对应有 个下拉菜单,下拉菜单中包含了一组菜单项;如果是对应于士个 子菜单,则子菜单里又可包含一组相关的菜单项,它们又分别对 应于一个子菜单或直接对应于一条命令,从而形成一个不断分支 的树型结构
10.1 菜单系统结构及组成 10.1.1 菜单系统结构及其概念 用户在使用软件查找信息之前,首先看到的便是菜单,Visual FoxPro的菜单系统实际上是一个树型结构。菜单栏是指菜单最上 面的一层,即几乎所有应用程序都有并始终都可看到的菜单名列 表栏;菜单栏中的每个菜单名代表了一个主菜单选项,主菜单项 的名称即菜单标题。例如:“文件”是一个主菜单项的标题,点 击主菜单项将它展开,显示它所具有的子菜单选项。每一个主菜 单项可以直接对应于一条命令或过程;一般每个主菜单对应有一 个下拉菜单,下拉菜单中包含了一组菜单项;如果是对应于一个 子菜单,则子菜单里又可包含一组相关的菜单项,它们又分别对 应于一个子菜单或直接对应于一条命令,从而形成一个不断分支 的树型结构
012菜单设计器 如果菜单设计得很好,那么用户只要根据菜单栏和与之配套 的工具栏的组织形式和内容,就可以很好地理解应用程序要点及 其所能提供的主要功能,为恰当地设计菜单栏和工具栏,实现应 用程序的主要功能实现。提供了“菜单设计器”,用来创建菜单。 打开菜单设计器的方法有以下几种: 从常用工具栏上单击“新建”按钮,在“新建”“文件类型” 列表中选择“菜单”单选项,然后单击“新建文件”按钮,出现 “新建菜单”窗口,用鼠标单击其中的“菜单”按钮,出现“菜 单设计器” 从“文件”菜单中,选择“新建”菜单项,出现“新建”窗 口,以后操作同上 ●通过项目管理器,即在项目管理器中选择“菜单”,然后单 击“新建”按钮。 使用命令,其格式为: MODIFY MEMU,其中的指菜单文件,扩展名是MNX,允许缺省
10.1.2 菜单设计器 如果菜单设计得很好,那么用户只要根据菜单栏和与之配套 的工具栏的组织形式和内容,就可以很好地理解应用程序要点及 其所能提供的主要功能,为恰当地设计菜单栏和工具栏,实现应 用程序的主要功能实现。提供了“菜单设计器” ,用来创建菜单。 打开菜单设计器的方法有以下几种: l从常用工具栏上单击“新建”按钮,在“新建”“文件类型” 列表中选择“菜单”单选项,然后单击“新建文件”按钮,出现 “新建菜单”窗口,用鼠标单击其中的“菜单”按钮,出现“菜 单设计器” 。 l从“文件”菜单中,选择“新建”菜单项,出现“新建”窗 口,以后操作同上。 l通过项目管理器,即在项目管理器中选择“菜单” ,然后单 击“新建”按钮。 l使用命令,其格式为:MODIFY MEMU ,其中的指菜单文件,扩展名是.MNX,允许缺省
1013“菜单”、“显示”菜单 使用菜单设计器时,系统菜单将添加一个“菜单”菜单项 快速菜单:用于快速设计菜单。打开“菜单设计器”,尚未 输入任何其它内容时该选项是活动的。选择它,可将系统菜单的 内容提取到当前菜单设计器中显示,亦可对该菜单进行修改调整, 形成一个新的菜单系统。 插入菜单项:在当前菜单项下插入一个菜单项 ●插入栏:显示插入系统菜单条对话框,它允许向菜单设计器 窗口中添加菜单项 删除菜单项:删除当前菜单项 生成:激活生成对话框,根据当前设计的MNX菜单文件,生 成对应的MPR菜单程序代码文件 预览:菜单预览,演示设计的菜单 在使用菜单设计器时,“显示”菜单(如图10-5所示)中将添加 如下菜单选项:
10.1.3 “菜单”、“显示”菜单 使用菜单设计器时,系统菜单将添加一个“菜单”菜单项。 l快速菜单:用于快速设计菜单。打开“菜单设计器” ,尚未 输入任何其它内容时该选项是活动的。选择它,可将系统菜单的 内容提取到当前菜单设计器中显示,亦可对该菜单进行修改调整, 形成一个新的菜单系统。 l插入菜单项:在当前菜单项下插入一个菜单项。 l插入栏:显示插入系统菜单条对话框,它允许向菜单设计器 窗口中添加菜单项。 l删除菜单项:删除当前菜单项。 l生成:激活生成对话框,根据当前设计的.MNX菜单文件,生 成对应的.MPR菜单程序代码文件。 l预览:菜单预览,演示设计的菜单。 在使用菜单设计器时, “显示”菜单(如图10-5所示)中将添加 如下菜单选项:
●‘常规选项”对话框:将激活一个常规选项对话框,它允许 为整个菜单系统指定代码。该对话框提供如下选项: “过程编辑”框:在这里输入菜单过程代码。如果代码过多 超出编辑域,编辑域右侧的滚动条将被溦活。 “编辑”按钮:按下“编辑”按钮将打开一个编辑窗口来输 入菜单过程的代码。要进入编辑窗口编写程序,按“确定”按钮 关掉对话框就可以。 位置区:包含如下4个按钮 ◇替换:将现有的菜单系统替换成新的菜单系统。 ◇追加:将定义的菜单附加在现有菜单的后面。 ◇在..之后:将定义的菜单插入到指定菜单的后面。选中这 选项将出现一弹出列表,其中列出了当前菜单系统的菜单名,可 从中选择一个菜单名,已定义的菜单将出现在该菜单的后面。 ◇在..之前:将用户定义的菜单插入到指定菜单前。选中这 选项将出现一弹出列表,列出了当前菜单系统的菜单名。可从中 选择一个菜单名,用户定义菜单出现在该菜单的前
l“常规选项”对话框:将激活一个常规选项对话框,它允许 为整个菜单系统指定代码。该对话框提供如下选项: “过程编辑”框:在这里输入菜单过程代码。如果代码过多 超出编辑域,编辑域右侧的滚动条将被激活。 “编辑”按钮:按下“编辑”按钮将打开一个编辑窗口来输 入菜单过程的代码。要进入编辑窗口编写程序,按“确定”按钮 关掉对话框就可以。 位置区:包含如下4个按钮: 替换:将现有的菜单系统替换成新的菜单系统。 追加:将定义的菜单附加在现有菜单的后面。 在…之后:将定义的菜单插入到指定菜单的后面。选中这一 选项将出现一弹出列表,其中列出了当前菜单系统的菜单名,可 从中选择一个菜单名,已定义的菜单将出现在该菜单的后面。 在…之前:将用户定义的菜单插入到指定菜单前。选中这一 选项将出现一弹出列表,列出了当前菜单系统的菜单名。可从中 选择一个菜单名,用户定义菜单出现在该菜单的前
菜单代码:包括两个复选框 ◇设置:选中这一项将打开一编辑窗口,从中可为菜单系统加 入一段初始化代码。要进入打开的设置代码编辑窗口,选定该复 选框,单击“确定”按钮即可。 ◇清理:选中这一项将打开一个编辑窗口,从中可为菜单系统 加入一段结束代码。要进入打开的结束代码编辑窗口,选定该复 选框,单击“确定”按钮即可。 顶层表单:如果选定该复选框,将允许该菜单在顶层表单 (SDI)中使用;如果未选定,只允许在 Visual foxpro页框中使 用该菜单 ●菜“单选项”对话框 当选择“显示”菜单中的“菜单选项”时将显示“菜单选项” 对话框,为菜单栏(即顶层菜单)或各子菜单项输入代码,它包 括以下几个选项:名称:显示菜单的名称。 过程:其编辑框用于输入或显示菜单的过程代码 编辑按钮:用鼠标单击此按钮将打开一个文本编辑窗口,其 功能与过程框基本相同
菜单代码:包括两个复选框: 设置:选中这一项将打开一编辑窗口,从中可为菜单系统加 入一段初始化代码。要进入打开的设置代码编辑窗口,选定该复 选框,单击“确定”按钮即可。 清理:选中这一项将打开一个编辑窗口,从中可为菜单系统 加入一段结束代码。要进入打开的结束代码编辑窗口,选定该复 选框,单击“确定”按钮即可。 顶层表单:如果选定该复选框,将允许该菜单在顶层表单 (SDI)中使用;如果未选定,只允许在Visual FoxPro页框中使 用该菜单。 l菜“单选项”对话框 当选择“显示”菜单中的“菜单选项”时将显示“菜单选项” 对话框,为菜单栏(即顶层菜单)或各子菜单项输入代码,它包 括以下几个选项:名称:显示菜单的名称。 过程:其编辑框用于输入或显示菜单的过程代码。 编辑按钮:用鼠标单击此按钮将打开一个文本编辑窗口,其 功能与过程框基本相同
10.1.4菜单系统规划原则、步骤 菜单系统是菜单栏、菜单标题、下拉菜单、菜单项和子菜单 的组合体。规划和设计菜单系统主要是确定需要哪些菜单、出现 在界面的何处以及哪些菜单要有子菜单等。创建菜单系统的大量 工作是在“菜单设计器”中完成的,在那里可创建实际的菜单标 题、子菜单和菜单选项等菜单内容。在创建菜单之前,我们需要 先进行菜单系统的规划和设计。 创建菜单系统需以下步骤: ●规划与设计系统:确定需要哪些菜单、出现在界面的何处以及 哪几个菜单要有子菜单等 ●创建菜单和子菜单:使用菜单设计器可以定义菜单标题、菜单 项和子菜单。 ●按实际要求为菜单系统指定任务:指定菜单所要执行的任务, 如显示表单或对话框等。 生成菜单程序:运行生成的程序,以测试菜单系统
10.1.4 菜单系统规划原则、步骤 菜单系统是菜单栏、菜单标题、下拉菜单、菜单项和子菜单 的组合体。规划和设计菜单系统主要是确定需要哪些菜单、出现 在界面的何处以及哪些菜单要有子菜单等。创建菜单系统的大量 工作是在“菜单设计器”中完成的,在那里可创建实际的菜单标 题、子菜单和菜单选项等菜单内容。在创建菜单之前,我们需要 先进行菜单系统的规划和设计。 创建菜单系统需以下步骤: l规划与设计系统:确定需要哪些菜单、出现在界面的何处以及 哪几个菜单要有子菜单等。 l创建菜单和子菜单:使用菜单设计器可以定义菜单标题、菜单 项和子菜单。 l按实际要求为菜单系统指定任务:指定菜单所要执行的任务, 如显示表单或对话框等。 生成菜单程序:运行生成的程序,以测试菜单系统
10.2定制菜单系统 要新建一个菜单,可以通过定制已有的Ⅴ isual foxpro菜单 系统或者开发自己的菜单系统来创建。如果要从已有的Ⅴsual FoxPro菜单系统开始创建菜单,则可以使用“快速菜单”功能 具体操作步骤如下 (1)选择“项目管理器”中的“其他”选项卡,选定“菜单” 项,然后用鼠标单击“新建”按钮,在随后出现的“新建菜单” 窗口中用鼠标单击“菜单”按钮,随后将会出现“菜单设计器” 窗口,同时在系统菜单中将会出现“菜单”选项 (2)在系统菜单的“菜单”选项中,选择“快速菜单”命令, 在“菜单设计器”中将会包含关于Ⅴ isual foxpro主菜单的信息 在“菜单设计器”中可通过添加或更改菜单项定制菜单系统, 同时,如果用鼠标拖动最前面的移动钮,还可以改变菜单栏上各 菜单的位置。此外,如果需要创建“帮助”菜单,最好将它安排 在菜单栏的最后,这样用户能够很快找到它
10.2 定制菜单系统 要新建一个菜单,可以通过定制已有的 Visual FoxPro 菜单 系统或者开发自己的菜单系统来创建。如果要从已有的 Visual FoxPro 菜单系统开始创建菜单,则可以使用“快速菜单”功能。 具体操作步骤如下: (1)选择“项目管理器”中的“其他”选项卡,选定“菜单” 项,然后用鼠标单击“新建”按钮,在随后出现的“新建菜单” 窗口中用鼠标单击“菜单”按钮,随后将会出现“菜单设计器” 窗口,同时在系统菜单中将会出现“菜单”选项。 (2)在系统菜单的“菜单”选项中,选择“快速菜单”命令, 在“菜单设计器”中将会包含关于 Visual FoxPro 主菜单的信息。 在“菜单设计器”中可通过添加或更改菜单项定制菜单系统, 同时,如果用鼠标拖动最前面的移动钮,还可以改变菜单栏上各 菜单的位置。此外,如果需要创建“帮助”菜单,最好将它安排 在菜单栏的最后,这样用户能够很快找到它
10.21快捷菜单 在控件或对象上单击右键时,将会显示快捷菜单,以便快速 展示当前对象可用的所有功能。 Visual foxpro具有创建快捷菜单 的功能,并可将这些菜单附加在控件中。例如,可创建包含“剪 切”、“复制”和“粘贴”命令的快捷菜单,当用户在表格控件 所包含的数据上单击右键时,将出现此快捷菜单。 创建快捷菜单的具体操作如下 (1)选择“项目管理器”中的“其他”选项卡,选定“菜单” 选项,并单击“新建”按钮。 (2)在随后出现的“新建菜单”窗口中用鼠标单击“快捷菜单” 按钮,将会出现“快捷菜单设计器” (3)进入“快捷菜单设计器”后,添加菜单项的过程与创建菜 单完全相同。即在“菜单名称”栏中,选择相应的菜单标题或菜 单项;单击“选项”栏中的按钮,出现“提示选项”对话框,在 “键标签”框中,按下一组合键,可创建快捷键。快捷键一般用 Ctr或Alt键与另一个键相组合
10.2.1 快捷菜单 在控件或对象上单击右键时,将会显示快捷菜单,以便快速 展示当前对象可用的所有功能。Visual FoxPro具有创建快捷菜单 的功能,并可将这些菜单附加在控件中。例如,可创建包含“剪 切” 、 “复制”和“粘贴”命令的快捷菜单,当用户在表格控件 所包含的数据上单击右键时,将出现此快捷菜单。 创建快捷菜单的具体操作如下: (1)选择“项目管理器”中的“其他”选项卡,选定“菜单” 选项,并单击“新建”按钮。 (2)在随后出现的“新建菜单”窗口中用鼠标单击“快捷菜单” 按钮,将会出现“快捷菜单设计器” 。 (3)进入“快捷菜单设计器”后,添加菜单项的过程与创建菜 单完全相同。即在“菜单名称”栏中,选择相应的菜单标题或菜 单项;单击“选项”栏中的按钮,出现“提示选项”对话框,在 “键标签”框中,按下一组合键,可创建快捷键。快捷键一般用 Ctrl 或 Alt 键与另一个键相组合
10.22单文档菜单 单文档菜单是出现在单文档界面(SDI)窗口中的菜单。如果 要创建SDI菜单,必须在设计菜单时指出该菜单用于SDI表单。除 此之外,创建SDI菜单的过程与创建普通菜单完全相同。具体操作 为:打开“菜单设计器”,从“显示”菜单中选择“常规选项” 并选择“顶层表单”。 菜单创建好后,可以在菜单上设置菜单项。每个菜单项都表示 了一个我们希望用户执行的Ⅴ sual foxpro命令或过程,菜单项也可 以包含子菜单,用以提供其他菜单项 1023分组各菜单项 为增强可读性,可使用分隔线将内容相关的菜单项分隔成组。 在“菜单名称”栏中,键入“-”,便可以创建一条分隔线。拖动 “-提示符左侧的按钮,可以将分隔线移动到正确的位置
10.2.2 单文档菜单 单文档菜单是出现在单文档界面(SDI)窗口中的菜单。如果 要创建 SDI 菜单,必须在设计菜单时指出该菜单用于 SDI 表单。除 此之外,创建 SDI 菜单的过程与创建普通菜单完全相同。具体操作 为:打开“菜单设计器” ,从“显示”菜单中选择“常规选项” , 并选择“顶层表单” 。 菜单创建好后,可以在菜单上设置菜单项。每个菜单项都表示 了一个我们希望用户执行的Visual FoxPro命令或过程,菜单项也可 以包含子菜单,用以提供其他菜单项。 10.2.3 分组各菜单项 为增强可读性,可使用分隔线将内容相关的菜单项分隔成组。 在“菜单名称”栏中,键入“\-” ,便可以创建一条分隔线。拖动 “\-”提示符左侧的按钮,可以将分隔线移动到正确的位置