180 likes | 441 Views
第 6 章 菜单设计. 6.1 菜单系统及其规划. 菜单系统 菜单系统( menu system )是菜单栏( menu bar )、菜单标题 (menu title) 、菜单 (menu) 和菜单项 (menu item) 的组合。 菜单栏: 位于窗口标题下的水平条形区域,用于放置各菜单标题。 菜单标题: 也叫菜单名,用于标识菜单。 菜单: 单击菜单标题可以打开相应的菜单,菜单由一系列菜单项组成,包括命令、过程和子菜单等 。 菜单项: 列于菜单上的菜单命令,用于实现某于具体的任务。. 菜单系统的规划 菜单设计准则主要有:
E N D
6.1 菜单系统及其规划 • 菜单系统 菜单系统(menu system)是菜单栏(menu bar)、菜单标题(menu title)、菜单(menu)和菜单项(menu item)的组合。 • 菜单栏:位于窗口标题下的水平条形区域,用于放置各菜单标题。 • 菜单标题:也叫菜单名,用于标识菜单。 • 菜单:单击菜单标题可以打开相应的菜单,菜单由一系列菜单项组成,包括命令、过程和子菜单等 。 • 菜单项:列于菜单上的菜单命令,用于实现某于具体的任务。
菜单系统的规划 菜单设计准则主要有: (1)按照用户执行的任务组织菜单系统。 (2)给每个菜单一个有意义的菜单标题。 (3)按照估计的菜单项使用频率、逻辑顺序或字母顺序组织菜单项。 (4)在菜单项的逻辑组之间放置分隔线。 (5)将菜单上菜单项的数目限制在一个屏幕之内,当菜单项的数目超过了一屏,则应为其中的一些菜单项创建子菜单。 (6)为菜单和菜单项设置访问键或键盘快捷键。 (7)使用能够准确描述菜单项的文字。 (8)在菜单项中混合使用大小写字母。
6.2 建立菜单 • 建立菜单的基本步骤: 打开“菜单设计器”窗口 →进行菜单设计 →保存菜单定义 →生成菜单程序 →运行菜单程序 • 【文件】→【新建】→选【菜单】→按【新建文件】 • 在命令窗口使用建立菜单命令:CREATE MENU 生成菜单定义文件(.MNX)和菜单备注文件(.MNT) 生成的菜单程序其主文件名与菜单文件同名,扩展名为.MPR DO 菜单程序名.MPR 运行程序时,系统将菜单程序(.MPR)编译成扩展名为(.MPX)的菜单目标程序
“结果”栏:包括有命令、填充名称(或菜单项)、子菜单和过程四个选项 “选项”栏 :可设置菜单的快捷键、跳过条件、说明信息和菜单项内部名称 【创建】或【编辑】按钮:供用户建立或修改子菜单 “菜单名称”栏 • “菜单设计器”窗口 “移动”按钮: 拖动该按钮可以调整菜单项之间的位置的顺序 指定当前设计的菜单,返回到上级菜单或主菜单 插入栏:可插入一个VFP系统菜单项命令
快速菜单 快速菜单是将系统菜单添加到“菜单设计器”窗口供用户快速建立菜单的功能。 [例6-1]建立一个快速菜单kscd.mpr。 操作步骤: 步骤1:打开“菜单设计器”窗口。 步骤2:建立快速菜单:选择【菜单】→【快速菜单】 。 步骤3:保存菜单定义文件kscd.mnx。 步骤4:生成菜单程序kscd.mpr。 步骤5:运行菜单程序:DO kscd.mpr 命令SET SYSMENU TO DEFAULT用于恢复系统菜单。
建立应用程序菜单 [例6-2]设计一个“工资管理系统”的应用程序菜单。 操作步骤: 步骤1:首先规划好菜单系统,如下所示。 子菜单 主菜单
步骤2:创建主菜单 在“菜单名称”栏输入主菜单标题; 在“结果”栏选择为“子菜单”项; 在“选项”栏设置各菜单项的快捷键。如“数据维护(\<D)”,设置为【Alt】+D作为“数据维护”菜单项的热键。
步骤3:创建子菜单 (1)进入子菜单编辑窗口 (2)设置子菜单项 (3)给菜单项指定任务 (4)指定快捷键
步骤4:保存和生成菜单文件: 以gzcd.mnx保存菜单定义文件。 选择菜单【菜单】→【生成】,生成菜单程序gzcd.mpr 步骤5:运行菜单程序: 在命令窗口中输入命令DO gzcd.mpr
6.3 建立快捷菜单 • 定义:快捷菜单是用户点击鼠标右键时弹出的菜单。 • 建立:在“新建菜单”对话框中选定【快捷菜单】按钮,会出现“快捷菜单设计器” ,利用该设计器建立快捷菜单。 [例6-3]建立一个包含有剪切、复制、粘贴、清除和全选功能的快捷菜单,在浏览rsb.dbf时使用。 操作步骤: 步骤1:打开“快捷菜单设计器”窗口。 步骤2:插入系统菜单栏: 步骤3:保存kjcd.mnx与生成快捷菜单程序kjcd.mpr 。
步骤4:编辑调用快捷菜单程序: * e6-3.prg CLEAR ALL PUSH KEY CLEAR &&清除功能键的定义 ON KEY LABEL RIGHTMOUSE DO kjcd.mpr &&设置鼠标右键运行快捷菜单 USE rsb BROWSE USE PUSH KEY CLEAR 步骤5:运行程序e6-3及快捷菜单程序。
6.4 菜单的常规选项和菜单选项设定 • 常规选项:常规选项用于定义整个下拉式菜单系统的总体属性。 “设置” :用于设置菜单程序的初始化代码。该代码一般包含设置变量、定义数组、创建环境等操作内容。 “清理”:用于设置菜单程序的清理代码,清理代码在菜单显示出来后执行。 建立整个菜单系统的过程代码。 用来描述用户定义的菜单与系统菜单的关系。 选中此复选框,则允许户定义的菜单在顶层表单中使用
菜单选项:为子菜单中的菜单项写入公共的过程。这些菜单项是未设置过任何命令和过程动作,也无下级菜单。菜单选项:为子菜单中的菜单项写入公共的过程。这些菜单项是未设置过任何命令和过程动作,也无下级菜单。 为子菜单中的菜单项写入公共的过程代码。
6.5 顶层表单的菜单加载 加载步骤: 步骤1:设置主菜单为顶层菜单: 【显示】菜单中的【常规选项】命令→选中【顶层表单】复选框 步骤2:设置表单为顶层表单: 将表单的ShowWindow属性值定义为2。 步骤3:编写表单事件代码: Init事件代码:加入命令:DO <主菜单名.MPR> WITH THIS[,"<菜单内部名>"],调入菜单。 Destroy事件代码:加入命令:RELEASE MENU <菜单内部名>,清除菜单。
[例6-4]建立如下图的一个顶层表单gzgl.scx,然后将例6-2的菜单gzcd.mpr设为顶层菜单,并加载到顶层表单上 。
步骤1:将gzcd菜单修改设置成为顶层菜单 步骤2:建立顶层表单 步骤3:编写表单事件代码: 表单Form1的Init事件代码: DO gzcd.mpr WITH THIS,"gz"。 表单Form1的Destroy事件代码: RELEASE MENU gz