1 / 38

第 9 章 菜单设计与应用

第 9 章 菜单设计与应用. 本章要点. Visual FoxPro 系统菜单 下拉式菜单设计 , 新建菜单、定义菜单、运行菜单程序、测试菜单系统 快捷菜单设计 Visual FoxPro 系统概述。. 9.1 Visual FoxPro 系统菜单. 9.1.1 菜单结构. 1 .菜单类型 条形菜单 每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。 弹出式菜单 每个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则由一个名称(标题)和选项序号。. 9.1.2 系统菜单. 1 .重新配置系统菜单

gyala
Download Presentation

第 9 章 菜单设计与应用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第9章 菜单设计与应用

  2. 本章要点 • Visual FoxPro系统菜单 • 下拉式菜单设计,新建菜单、定义菜单、运行菜单程序、测试菜单系统 • 快捷菜单设计 • Visual FoxPro系统概述。

  3. 9.1 Visual FoxPro系统菜单

  4. 9.1.1 菜单结构 • 1.菜单类型 • 条形菜单 • 每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。 • 弹出式菜单 • 每个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则由一个名称(标题)和选项序号。

  5. 9.1.2 系统菜单 • 1.重新配置系统菜单 • 命令格式: • SET SYSMENU ON|OFF|AUTOMATIC • |TO[<弹出式菜单名表>] • |TO[<条形菜单项名表>] • 命令说明: • TO<弹出式菜单名表>表示重新配置系统菜单,以内部名字列出可用的弹出式。 • TO<条形菜单项名表>表示重新配置系统菜单,以条形菜单项内部名表列出可用的子菜单。 • TO DEFAULT表示将系统菜单恢复为缺省配置。

  6. 9.2 下拉式菜单设计

  7. 9.2.1菜单设计的基本过程

  8. 1.新建菜单 • 方法: • 利用“项目管理器”新建菜单 • 在项目管理器中选择“其他”选项卡中的“菜单”,单击“新建”按钮调出“新建菜单”对话框。 • 利用菜单命令修改菜单 • 打开“文件”菜单,选择“新建”命令,弹出“新建”对话框;在对话框中选择“菜单”按钮,单击“新建文件”按钮,弹出“新建菜单”对话框;选择“新建菜单”按钮,调出“菜单设计器”窗口。 • 利用窗口命令修改菜单 • 命令格式:CREATE MENU [ FileName |?]

  9. 2.修改菜单 • 方法: • 利用菜单命令修改菜单 • 选择“文件”菜单中的“打开”命令,弹出“打开”对话框。 • 在“文件类型”中选择菜单(.MNX文件),然后选取文件,单击“打开”按钮弹出“菜单设计器”。 • 利用“项目管理器”修改菜单 • 在项目管理器中选择“其他”选项卡中的“菜单”。 • 选择所需修改的菜单,单击“修改”按钮弹出“菜单设计器”。 • 利用窗口命令修改菜单 • 命令格式:MODIFY MENU [ FileName |?]

  10. 3.定义菜单 • 方法: • 在“菜单设计器”窗口中定义菜单,指定菜单的各项内容。选择“文件”菜单中的“打开”命令,弹出“打开”对话框。 • 指定完菜单的各项内容后,应将菜单定义保存到.mnx文件中。 • 4.生成菜单程序 • 方法: • 在菜单设计器环境下,选择“菜单”菜单中的“生成”命令。 • 在“生成菜单”对话框中指定菜单程序文件的名称和存放路径。 • 单击“生成”按钮。

  11. 5.运行菜单程序 • 方法: • 使用命令“DO<文件名>”运行菜单程序,但文件名的扩展名.mpr不能省略。 • 6.测试菜单系统 • 方法: • 选择“菜单”中的“生成”。 • 在弹出的“生成菜单”对话框的“输出文件”框中输入生成的菜单程序的名称。 • 选择“生成”按钮,就会生成扩展名为 .mpr。 • “程序”菜单中,选择“运行”命令,或者单击工具栏上的“!”按钮,运行此程序。 • 使用set sysmenu to defa 恢复默认设置

  12. 9.2.2定义下拉式菜单 • 1.定义菜单项名称 • 在指定菜单名称时,可以设置菜单项的访问键,方法是: • 在作为访问键的字符前加上“\<”两个字符。 • 系统还提供了在两组之间插入一条水平的分组线,方法是: • 在相应行的“菜单名称”列上输入“\-”两个字符。

  13. 2.定义菜单项动作 • 菜单项动作在“结果”列处定义。单击该列将出现一个下拉列表框,有命令、过程、子菜单和填充名称或菜单项等四种选择。 • 3.设置菜单项选项 • 设置对话框的菜单项属性 • 快捷方式 • 跳过 • 信息 • 主菜单名或菜单项#

  14. 4.菜单项的其他按钮 • “插入”按钮 • “插入栏”按钮 • “删除”按钮 • “预览”按钮 • 移动按钮 • 5 “显示”菜单 • “常规选项”对话框 • 选择“显示”菜单中的“常规选项”,将弹出设置菜单的常规选项对话框。

  15. “菜单选项”对话框 • 选择“显示”菜单中“菜单选项”命令,就会打开“菜单选项”对话框。 • 在这个对话框里,可以定义当前弹出式菜单的公共过程代码。 • 如果当前弹出式中的某个菜单项没有规定具体的动作,当选择此菜单选项时,则执行该缺省过程代码。

  16. 上机操作重点 • 访问键设置方法:<\ • 快捷键设置方法:选项-键标签 • 菜单项分组 • 菜单项的启用与废止 • 菜单项的提示信息

  17. 例如:利用菜单设计器建立下面的下拉式菜单,具体要求如下:例如:利用菜单设计器建立下面的下拉式菜单,具体要求如下: • 条形菜单的菜单项包括数据维护(T)、数据编辑(E)、退出(Q),其结果分别为激活弹出式菜单sjwh、激活弹出式菜单sjbj、将系统菜单恢复为标准设置。 • 弹出式菜单sjbj菜单项包括:输入记录、\-、修改记录、查看记录,其快捷键分别为CTRL+S、CTRL+X、CTRL+C,其结果分别执行程序文件sr.prg、xg.prg、ck.prg。 • 弹出式菜单sjbj包括:新建、查看和替换三个选项,它们分别调用相应的系统功能。

  18. 操作步骤如下: • 单击“文件”下的“新建”命令,选择“菜单”后,单击“新建文件”,打开菜单设计器窗口。 • 设置条形菜单的主菜单项。 • 单击“数据编辑”菜单项“结果”列上的“创建”按钮,使设计器窗口切换到子菜单页,然后设置各菜单项 。 • 单击“退出”菜单项“结果”列上的“创建”按钮,打开文本编辑窗口,输入以下两行代码: • SET SYSMENU NOSAVE • SET SYSMENU TO DEFAULT

  19. 单击“输入记录”菜单项“选项”列上的按钮,打开“提示选项”对话框,单击“键标签”文本框,并在键盘上按组合键CTRL+S;用同样的方法分别为修改记录和查看记录设置快捷键。 • 选择“显示”菜单中的“菜单选项”命令,打开“菜单选项”对话框,然后在“名称”框中输入sjbj,再从“菜单级”列表框中选择“菜单栏”选项,返回到主菜单项。 • 单击“数据维护”菜单项“结果”列上的“创建”按钮,切换到子菜单页;单击“插入栏”按钮,打开“插入系统菜单栏”对话框;从对话框的列表框中选择“新建”项并单击“插入”按钮,用同样方法插入“查找”和“替换”项。 • 为弹出式菜单设置内部名字 。 • 单击“文件”菜单中的“保存”按钮,结果保存在菜单定义文件cd1.mnx和菜单备注文件cd1.mnt中。 • 单击“菜单”菜单中的“生成”命令,生成的菜单程序文件为cdl.mpr。

  20. 9.2.3编程方式定义菜单 • 1.定义条形菜单 • 命令格式: • DEFINE MENU<条形菜单名> • && 定义条形菜单的内部名字 • [BAR] • [IN [WINDOW] <窗口名>/IN SCREEN] • && 指定菜单放置在哪个窗口或屏幕上

  21. 定义条形菜单项的命令格式: • DEFINE PAD<菜单项名字 >OF <条形菜单名 > • PROMPT< 字符表达式> • && 指定菜单项的标题 • [BEFORE< 弹出式菜单名字> • && 指定菜单项的位置 • /AFTER< 弹出式菜单名字>] • [KEY<键标签 >[,<键说明 >]] • && 指定快捷键 • [MESSAGE<字符表达式 >] • && 指定提示信息 • [SKIP [FOR< 逻辑表达式>]] • && 指定跳过条件 • [COLOR SCHEME<颜色配置号 >] && 指定颜色配置

  22. 指出菜单项动作 • 格式1: • ON PAD<条形菜单选项名>OF<条形菜单名1>ACTIVATE POPUP<弹出式菜单名>/ACTIVATE MENU<条形菜单名2>] • 格式2: • ON SELECTION PAD<条形菜单选项名>OF<条形菜单名>[<命令>] • 激活条形菜单 • ACTIVATE MENU<条形菜单名字>[NOWAIT] && 显示和激活菜单后不等待[PAD<条形菜单选项名>]

  23. 2.定义弹出式菜单 • 定义弹出式菜单命令格式: • DEFINE POPUP<菜单名> • && 指定弹出式菜单的内部名字 • [SHORTCUT] • && 用作快捷菜单 • [FROM<行号>,<列号>] • && 菜单显示的左上角坐标 • [MARGIN] • && 菜单项的两边是否放置一个空格 • [MESSAGE<字符表达式>]

  24. [RELATIVE] • && 相对放置菜单选项 • [SCROLL] • && 需要时出现滚动条 • [SHADOW] • && 是否要阴影 • [COLOR SCHEME<颜色配置号>]

  25. 定义弹出式菜单项命令格式: • DEFINE BAR<菜单项序号>/<系统菜单选项名> • OF<弹出式菜单名> • && 指明是哪个弹出式菜单的选项 • PROMPT<字符表达式> • [KEY<键标签>[,<键说明>]] • [MESSAGE<字符表达式>] • [SKIP[FOR<逻辑表达式>]] • 定义菜单项动作 • 格式1: • ON BAR<弹出式菜单选项名>OF<弹出式菜单名1>

  26. [ACTIVATE POPUP<弹出式菜单名2>/ACTIVATE MENU • <条形菜单名>] • 格式2: • ON SELECTION BAR<弹出式菜单选项名>OF<弹出式菜单名>[<命令>] • 激活弹出式菜单 • ACTIVATE POPUP<弹出式菜单名字> [NOWAIT] • && 显示和激活菜单后不等待 • [BAR<弹出式菜单选项号>]

  27. 9.2.4为顶层表单添加菜单 • 1.方法: • 在“菜单设计器”窗口中设计下拉式菜单。 • 菜单设计时,选择“常规选项”对话框中的“顶层表单”复选框。 • 在表单设计器环境下,将表单的ShowWindow属性值设置为2,使其成为顶层表单。 • 在表单的Init事件代码中添加调用菜单程序的命令,格式如下:DO〈文件名〉WITH This [,“〈菜单名〉”] • 在表单的Destroy事件代码中添加清除菜单的命令,使得在关闭单表时能同时清除菜单,释放其所占用的空间。

  28. 例如,为第8章中创建的统计学生人数表单建立一个下拉式菜单,如图9.1所示。例如,为第8章中创建的统计学生人数表单建立一个下拉式菜单,如图9.1所示。 • 其中,“统计”菜单中仅有一个菜单项“统计人数”,功能与表单中的“统计”命令按钮的功能相同。

  29. 操作步骤: • (1)打开“菜单设计器”窗口,定义下拉式菜单,formtj是表单文件的文件名。 • (2)选择“显示”子菜单中的“常规选项”,打开该对话框,选择“顶层表单”复选框。 • (3)选择“文件”菜单中的“保存”命令,将菜单定义保存在文件bdcd.mnx和bdcd.mnt中,并生成菜单程序文件bdcd.mpr。 • (4)将表单文件formtj.scx的ShowWindow属性值设置为2,使其成为顶层表单。 • (5)在表单的INIT事件代码中添加调用菜单程序的命令: • DO bdcd.mpr WITH THIS,’xxx’

  30. 9.3 快捷菜单设计

  31. 1.建立快捷菜单 • 方法: • 选择“文件”菜单中的“新建”命令。 • 选择“新建”对话框中的“菜单”按钮,单击“新建文件”按钮。 • 选择“新建菜单”对话框中的“快捷菜单”按钮,打开“快捷菜单设计器”窗口。 • 在“快捷菜单设计器”窗口中设计快捷菜单,单击“菜单”下的“生成”命令,生成菜单程序文件。 • 在表单设计器环境下,选定需要添加快捷菜单的对象。 • 在属性窗口的方法程序列表框中,双击“RightClick Event”项,在选定对象的RightClick事件代码中添加调用快捷菜单程序的命令:DO〈快捷菜单程序文件名〉

  32. 例如:为某表单建立一个快捷菜单KJCD,其选项有:日期、时间、放大和缩小,时间与放大之间用分组线分隔,如下图所示。选中日期或时间选项时,表单标题将变成当前日期或时间。选中变大或变小选项时,表单大小将缩放百分之十。例如:为某表单建立一个快捷菜单KJCD,其选项有:日期、时间、放大和缩小,时间与放大之间用分组线分隔,如下图所示。选中日期或时间选项时,表单标题将变成当前日期或时间。选中变大或变小选项时,表单大小将缩放百分之十。

  33. 快捷菜单各选项的名称(标题)和结果如下表所示。快捷菜单各选项的名称(标题)和结果如下表所示。

  34. 操作步骤: • (1)打开“快捷菜单设计器”窗口,按表所列的内容定义快捷菜单中各选项的内容。 • (2)选择“显示”菜单中的“常规选项”命令,打开“常规选项”对话框。 • (3)依次选择“设置”和“清理”复选框,打开“设置”和“清理”代码编辑窗口,快捷菜单的“设置”代码是一条接收当前表单对象引用的参数语句: • PARAMETERS MFREF • (4)快捷菜单的“清理”代码中包含清除快捷菜单的命令: • RELEASE POPUPS kjcd • (5)选择“显示”菜单的“菜单选项”命令,打开“菜单选项”对话框,在“名称”框中输入快捷菜单的内部名字kjcd。

  35. 操作步骤: • (6)单击“文件”菜单中的“保存”按钮,将结果保存在菜单定义文件kjcd.mnx和菜单备注文件kjcd.mnt中。 • (7)单击“菜单”菜单中“生成”命令,产生快捷菜单程序文件kjcd.mpr。 • (8)打开标题为“快捷菜单”的表单,在表单的RightClick事件代码中添加调用快捷菜单的命令: • DO kjcd.mpr WITH This

  36. 再见

  37. 谢谢观看!!

More Related