Top Banner
9 9 第第第第第第第 第第第第第第第
38

第 9 章 菜单设计与应用

Jan 09, 2016

Download

Documents

gyala

第 9 章 菜单设计与应用. 本章要点. Visual FoxPro 系统菜单 下拉式菜单设计 , 新建菜单、定义菜单、运行菜单程序、测试菜单系统 快捷菜单设计 Visual FoxPro 系统概述。. 9.1 Visual FoxPro 系统菜单. 9.1.1 菜单结构. 1 .菜单类型 条形菜单 每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。 弹出式菜单 每个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则由一个名称(标题)和选项序号。. 9.1.2 系统菜单. 1 .重新配置系统菜单 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 第 9 章  菜单设计与应用

第第 99 章 菜单设计与应章 菜单设计与应用用

Page 2: 第 9 章  菜单设计与应用

本章要点本章要点 Visual FoxProVisual FoxPro 系统菜单系统菜单 下拉式菜单设计下拉式菜单设计 ,, 新建菜单、定义菜单、新建菜单、定义菜单、

运行菜单程序、测试菜单系统运行菜单程序、测试菜单系统 快捷菜单设计快捷菜单设计 Visual FoxProVisual FoxPro 系统概述。系统概述。

Page 3: 第 9 章  菜单设计与应用

9.1 Visual FoxPro9.1 Visual FoxPro 系系统菜单统菜单

Page 4: 第 9 章  菜单设计与应用

9.1.1 9.1.1 菜单结构菜单结构 11 .菜单类型.菜单类型

条形菜单条形菜单 每一个条形菜单都有一个内部名字和一组菜单选项,每一个条形菜单都有一个内部名字和一组菜单选项,

每个菜单选项都有一个名称(标题)和内部名字。每个菜单选项都有一个名称(标题)和内部名字。 弹出式菜单弹出式菜单

每个弹出式菜单也有一个内部名字和一组菜单选项,每个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则由一个名称(标题)和选项序号。每个菜单选项则由一个名称(标题)和选项序号。

Page 5: 第 9 章  菜单设计与应用

9.1.2 9.1.2 系统菜单系统菜单 11 .重新配置系统菜单.重新配置系统菜单

命令格式:命令格式: SET SYSMENU ON|OFF|AUTOMATICSET SYSMENU ON|OFF|AUTOMATIC |TO[<|TO[< 弹出式菜单名表弹出式菜单名表 >]>] |TO[<|TO[< 条形菜单项名表条形菜单项名表 >]>]

命令说明:命令说明: TO<TO< 弹出式菜单名表弹出式菜单名表 >> 表示重新配置系统菜单,以内部名字表示重新配置系统菜单,以内部名字

列出可用的弹出式。列出可用的弹出式。 TO<TO< 条形菜单项名表条形菜单项名表 >> 表示重新配置系统菜单,以条形菜单表示重新配置系统菜单,以条形菜单

项内部名表列出可用的子菜单。项内部名表列出可用的子菜单。 TO DEFAULTTO DEFAULT 表示将系统菜单恢复为缺省配置。表示将系统菜单恢复为缺省配置。

Page 6: 第 9 章  菜单设计与应用

9.2 9.2 下拉式菜单设计下拉式菜单设计

Page 7: 第 9 章  菜单设计与应用

9.2.19.2.1 菜单设计的基本过程菜单设计的基本过程

Page 8: 第 9 章  菜单设计与应用

11 .新建菜单.新建菜单 方法:方法:

利用“项目管理器”新建菜单利用“项目管理器”新建菜单 在项目管理器中选择“其他”选项卡中的“菜单”,单在项目管理器中选择“其他”选项卡中的“菜单”,单

击“新建”按钮调出“新建菜单”对话框。击“新建”按钮调出“新建菜单”对话框。 利用菜单命令修改菜单利用菜单命令修改菜单

打开“文件”菜单,选择“新建”命令,弹出“新建”打开“文件”菜单,选择“新建”命令,弹出“新建”对话框;在对话框中选择“菜单”按钮,单击“新建文对话框;在对话框中选择“菜单”按钮,单击“新建文件”按钮,弹出“新建菜单”对话框;选择“新建菜件”按钮,弹出“新建菜单”对话框;选择“新建菜单”按钮,调出“菜单设计器”窗口。单”按钮,调出“菜单设计器”窗口。

利用窗口命令修改菜单利用窗口命令修改菜单 命令格式:命令格式: CREATE MENU [ FileName |?]CREATE MENU [ FileName |?]

Page 9: 第 9 章  菜单设计与应用

22 .修改菜单.修改菜单 方法:方法:

利用菜单命令修改菜单利用菜单命令修改菜单 选择“文件”菜单中的“打开”命令,弹出“打开”对选择“文件”菜单中的“打开”命令,弹出“打开”对

话框。话框。 在“文件类型”中选择菜单(在“文件类型”中选择菜单( .MNX.MNX 文件),然后选取文件),然后选取

文件,单击“打开”按钮弹出“菜单设计器”。文件,单击“打开”按钮弹出“菜单设计器”。 利用“项目管理器”修改菜单利用“项目管理器”修改菜单

在项目管理器中选择“其他”选项卡中的“菜单”。在项目管理器中选择“其他”选项卡中的“菜单”。 选择所需修改的菜单,单击“修改”按钮弹出“菜单设选择所需修改的菜单,单击“修改”按钮弹出“菜单设

计器”。计器”。 利用窗口命令修改菜单利用窗口命令修改菜单

命令格式:命令格式: MODIFY MENU [ FileName |?]MODIFY MENU [ FileName |?]

Page 10: 第 9 章  菜单设计与应用

33 .定义菜单.定义菜单 方法:方法:

在“菜单设计器”窗口中定义菜单,指定菜单的各项内容。在“菜单设计器”窗口中定义菜单,指定菜单的各项内容。选择“文件”菜单中的“打开”命令,弹出“打开”对话框。选择“文件”菜单中的“打开”命令,弹出“打开”对话框。

指定完菜单的各项内容后,应将菜单定义保存到指定完菜单的各项内容后,应将菜单定义保存到 .mnx.mnx 文件文件中。中。

44 .生成菜单程序.生成菜单程序 方法:方法:

在菜单设计器环境下,选择“菜单”菜单中的“生成”命令。在菜单设计器环境下,选择“菜单”菜单中的“生成”命令。 在“生成菜单”对话框中指定菜单程序文件的名称和存放路在“生成菜单”对话框中指定菜单程序文件的名称和存放路

径。径。 单击“生成”按钮。单击“生成”按钮。

Page 11: 第 9 章  菜单设计与应用

55 .运行菜单程序.运行菜单程序 方法:方法:

使用命令“使用命令“ DO<DO< 文件名文件名 >”>” 运行菜单程序,但文件名的运行菜单程序,但文件名的扩展名扩展名 .mpr.mpr 不能省略。不能省略。

66 .测试菜单系统.测试菜单系统 方法:方法:

选择“菜单”中的“生成”。选择“菜单”中的“生成”。 在弹出的“生成菜单”对话框的“输出文件”框中输入在弹出的“生成菜单”对话框的“输出文件”框中输入

生成的菜单程序的名称。生成的菜单程序的名称。 选择“生成”按钮,就会生成扩展名为 选择“生成”按钮,就会生成扩展名为 .mpr.mpr 。。 ““ 程序”菜单中,选择“运行”命令,或者单击工具栏程序”菜单中,选择“运行”命令,或者单击工具栏

上的“!”按钮,运行此程序。上的“!”按钮,运行此程序。 使用使用 set sysmenu to defa set sysmenu to defa 恢复默认设置恢复默认设置

Page 12: 第 9 章  菜单设计与应用

9.2.29.2.2 定义下拉式菜单定义下拉式菜单 11 .定义菜单项名称.定义菜单项名称

在指定菜单名称时,可以设置菜单项的访问键,在指定菜单名称时,可以设置菜单项的访问键,方法是:方法是: 在作为访问键的字符前加上“在作为访问键的字符前加上“ \<”\<” 两个字符。两个字符。

系统还提供了在两组之间插入一条水平的分组系统还提供了在两组之间插入一条水平的分组线,方法是:线,方法是: 在相应行的“菜单名称”列上输入“在相应行的“菜单名称”列上输入“ \-”\-” 两个字两个字

符。符。

Page 13: 第 9 章  菜单设计与应用

22 .定义菜单项动作.定义菜单项动作 菜单项动作在“结果”列处定义。单击该列将菜单项动作在“结果”列处定义。单击该列将

出现一个下拉列表框,有命令、过程、子菜单出现一个下拉列表框,有命令、过程、子菜单和填充名称或菜单项等四种选择。和填充名称或菜单项等四种选择。

33 .设置菜单项选项.设置菜单项选项 设置对话框的菜单项属性设置对话框的菜单项属性

快捷方式快捷方式 跳过跳过 信息信息 主菜单名或菜单项主菜单名或菜单项 ##

Page 14: 第 9 章  菜单设计与应用

44 .菜单项的其他按钮.菜单项的其他按钮 ““ 插入”按钮插入”按钮 ““ 插入栏”按钮插入栏”按钮 ““ 删除”按钮删除”按钮 ““ 预览”按钮预览”按钮 移动按钮移动按钮

5 “5 “ 显示”菜单显示”菜单 ““ 常规选项”对话框常规选项”对话框

选择“显示”菜单中的“常规选项”,将弹出设置选择“显示”菜单中的“常规选项”,将弹出设置菜单的常规选项对话框。菜单的常规选项对话框。

Page 15: 第 9 章  菜单设计与应用

““ 菜单选项”对话框菜单选项”对话框 选择“显示”菜单中“菜单选项”命令,就会打开选择“显示”菜单中“菜单选项”命令,就会打开

“菜单选项”对话框。“菜单选项”对话框。 在这个对话框里,可以定义当前弹出式菜单的公共在这个对话框里,可以定义当前弹出式菜单的公共

过程代码。过程代码。 如果当前弹出式中的某个菜单项没有规定具体的动如果当前弹出式中的某个菜单项没有规定具体的动

作,当选择此菜单选项时,则执行该缺省过程代码。作,当选择此菜单选项时,则执行该缺省过程代码。

Page 16: 第 9 章  菜单设计与应用

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

Page 17: 第 9 章  菜单设计与应用
Page 18: 第 9 章  菜单设计与应用

例如:利用菜单设计器建立下面的下拉式菜单,例如:利用菜单设计器建立下面的下拉式菜单,具体要求如下:具体要求如下: 条形菜单的菜单项包括数据维护(条形菜单的菜单项包括数据维护( TT )、数据编辑)、数据编辑

(( EE )、退出()、退出( QQ ),其结果分别为激活弹出式),其结果分别为激活弹出式菜单菜单 sjwhsjwh 、激活弹出式菜单、激活弹出式菜单 sjbjsjbj 、将系统菜单恢、将系统菜单恢复为标准设置。复为标准设置。

弹出式菜单弹出式菜单 sjbjsjbj 菜单项包括:输入记录、菜单项包括:输入记录、 \-\- 、修改、修改记录、查看记录,其快捷键分别为记录、查看记录,其快捷键分别为 CTRL+SCTRL+S 、、 CTCTRL+XRL+X 、、 CTRL+CCTRL+C ,其结果分别执行程序文件,其结果分别执行程序文件 sr.sr.prgprg 、、 xg.prgxg.prg 、、 ck.prgck.prg 。。

弹出式菜单弹出式菜单 sjbjsjbj 包括:新建、查看和替换三个选项,包括:新建、查看和替换三个选项,它们分别调用相应的系统功能。它们分别调用相应的系统功能。

Page 19: 第 9 章  菜单设计与应用

操作步骤如下:操作步骤如下: 单击“文件”下的“新建”命令,选择“菜单”后,单击“文件”下的“新建”命令,选择“菜单”后,

单击“新建文件”,打开菜单设计器窗口。单击“新建文件”,打开菜单设计器窗口。 设置条形菜单的主菜单项。设置条形菜单的主菜单项。 单击“数据编辑”菜单项“结果”列上的“创建”单击“数据编辑”菜单项“结果”列上的“创建”

按钮,使设计器窗口切换到子菜单页,然后设置各按钮,使设计器窗口切换到子菜单页,然后设置各菜单项菜单项 。 。

单击“退出”菜单项“结果”列上的“创建”按钮,单击“退出”菜单项“结果”列上的“创建”按钮,打开文本编辑窗口,输入以下两行代码:打开文本编辑窗口,输入以下两行代码:

SET SYSMENU NOSAVESET SYSMENU NOSAVE SET SYSMENU TO DEFAULTSET SYSMENU TO DEFAULT

Page 20: 第 9 章  菜单设计与应用

单击“输入记录”菜单项“选项”列上的按钮,打开“提示单击“输入记录”菜单项“选项”列上的按钮,打开“提示选项”对话框,单击“键标签”文本框,并在键盘上按组合选项”对话框,单击“键标签”文本框,并在键盘上按组合键键 CTRL+SCTRL+S ;用同样的方法分别为修改记录和查看记录设置;用同样的方法分别为修改记录和查看记录设置快捷键。 快捷键。

选择“显示”菜单中的“菜单选项”命令,打开“菜单选选择“显示”菜单中的“菜单选项”命令,打开“菜单选项”对话框,然后在“名称”框中输入项”对话框,然后在“名称”框中输入 sjbjsjbj ,再从“菜单,再从“菜单级”列表框中选择“菜单栏”选项,返回到主菜单项。级”列表框中选择“菜单栏”选项,返回到主菜单项。

单击“数据维护”菜单项“结果”列上的“创建”按钮,切单击“数据维护”菜单项“结果”列上的“创建”按钮,切换到子菜单页;单击“插入栏”按钮,打开“插入系统菜单换到子菜单页;单击“插入栏”按钮,打开“插入系统菜单栏”对话框;从对话框的列表框中选择“新建”项并单击栏”对话框;从对话框的列表框中选择“新建”项并单击“插入”按钮,用同样方法插入“查找”和“替换”项。“插入”按钮,用同样方法插入“查找”和“替换”项。

为弹出式菜单设置内部名字为弹出式菜单设置内部名字 。 。 单击“文件”菜单中的“保存”按钮,结果保存在菜单定义单击“文件”菜单中的“保存”按钮,结果保存在菜单定义

文件文件 cd1.mnxcd1.mnx 和菜单备注文件和菜单备注文件 cd1.mntcd1.mnt 中。中。 单击“菜单”菜单中的“生成”命令,生成的菜单程序文件单击“菜单”菜单中的“生成”命令,生成的菜单程序文件

为为 cdl.mprcdl.mpr 。。

Page 21: 第 9 章  菜单设计与应用

9.2.39.2.3 编程方式定义菜单编程方式定义菜单 11 .定义条形菜单.定义条形菜单

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

Page 22: 第 9 章  菜单设计与应用

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

Page 23: 第 9 章  菜单设计与应用

指出菜单项动作指出菜单项动作 格式格式 11 ::

ON PAD<ON PAD< 条形菜单选项名条形菜单选项名 >OF<>OF< 条形菜单名条形菜单名 1>ACTIV1>ACTIVATE POPUP<ATE POPUP< 弹出式菜单名弹出式菜单名 >/ACTIVATE MENU<>/ACTIVATE MENU< 条条形菜单名形菜单名 2>]2>]

格式格式 22 :: ON SELECTION PAD<ON SELECTION PAD< 条形菜单选项名条形菜单选项名 >OF<>OF< 条形菜单条形菜单

名名 >[<>[< 命令命令 >]>] 激活条形菜单激活条形菜单

ACTIVATE MENU<ACTIVATE MENU< 条形菜单名字条形菜单名字 >[NOWAIT] >[NOWAIT] && && 显示和激活菜单后不等待显示和激活菜单后不等待 [PAD<[PAD< 条形菜条形菜单选项名单选项名 >]>]

Page 24: 第 9 章  菜单设计与应用

22 .定义弹出式菜单.定义弹出式菜单 定义弹出式菜单命令格式:定义弹出式菜单命令格式:

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

Page 25: 第 9 章  菜单设计与应用

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

Page 26: 第 9 章  菜单设计与应用

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

定义菜单项动作定义菜单项动作 格式格式 11 ::

ON BAR<ON BAR< 弹出式菜单选项名弹出式菜单选项名 >OF<>OF< 弹出式菜单名弹出式菜单名 1>1>

Page 27: 第 9 章  菜单设计与应用

[ACTIVATE POPUP<[ACTIVATE POPUP< 弹出式菜单名弹出式菜单名 2>/ACTIVATE M2>/ACTIVATE MENUENU

<< 条形菜单名条形菜单名 >]>] 格式格式 22 ::

ON SELECTION BAR<ON SELECTION BAR< 弹出式菜单选项名弹出式菜单选项名 >OF<>OF< 弹出弹出式菜单名式菜单名 >[<>[< 命令命令 >]>]

激活弹出式菜单激活弹出式菜单 ACTIVATE POPUP<ACTIVATE POPUP< 弹出式菜单名字弹出式菜单名字 > [NOWAIT] > [NOWAIT]

&& && 显示和激活菜单后不等待显示和激活菜单后不等待 [BAR<[BAR< 弹出式菜单选项号弹出式菜单选项号 >]>]

Page 28: 第 9 章  菜单设计与应用

9.2.49.2.4 为顶层表单添加菜单为顶层表单添加菜单 11 .方法:.方法:

在“菜单设计器”窗口中设计下拉式菜单在“菜单设计器”窗口中设计下拉式菜单。。 菜单设计时,选择“常规选项”对话框中的“顶层表单”复菜单设计时,选择“常规选项”对话框中的“顶层表单”复

选框。选框。 在表单设计器环境下,将表单的在表单设计器环境下,将表单的 ShowWindowShowWindow 属性值设置属性值设置

为为 22 ,使其成为顶层表单。,使其成为顶层表单。 在表单的在表单的 InitInit事件代码中添加调用菜单程序的命令,格式如事件代码中添加调用菜单程序的命令,格式如

下:下: DODO〈文件名〉〈文件名〉WITH This [,“WITH This [,“〈菜单〈菜单名〉”名〉” ]]

在表单的在表单的 DestroyDestroy 事件代码中添加清除菜单的命令,使得在事件代码中添加清除菜单的命令,使得在关闭单表时能同时清除菜单,释放其所占用的空间。关闭单表时能同时清除菜单,释放其所占用的空间。

Page 29: 第 9 章  菜单设计与应用

例如,为第例如,为第 88 章中创建的统计学生人数表单建立一个下拉式菜章中创建的统计学生人数表单建立一个下拉式菜单,如图单,如图 9.19.1 所示。所示。

其中,“统计”菜单中仅有一个菜单项“统计人数”,功能与其中,“统计”菜单中仅有一个菜单项“统计人数”,功能与表单中的“统计”命令按钮的功能相同。表单中的“统计”命令按钮的功能相同。

Page 30: 第 9 章  菜单设计与应用

操作步骤:操作步骤: (( 11 )打开“菜单设计器”窗口,定义下拉式菜单,)打开“菜单设计器”窗口,定义下拉式菜单, formtjformtj 是是

表单文件的文件名。表单文件的文件名。 (( 22 )选择“显示”子菜单中的“常规选项”,打开该对话框,)选择“显示”子菜单中的“常规选项”,打开该对话框,

选择“顶层表单”复选框。选择“顶层表单”复选框。 (( 33 )选择“文件”菜单中的“保存”命令,将菜单定义保存在)选择“文件”菜单中的“保存”命令,将菜单定义保存在

文件文件 bdcd.mnxbdcd.mnx 和和 bdcd.mntbdcd.mnt 中,并生成菜单程序文件中,并生成菜单程序文件 bdcd.bdcd.mprmpr 。。

(( 44 )将表单文件)将表单文件 formtj.scxformtj.scx 的的 ShowWindowShowWindow 属性值设置为属性值设置为22 ,使其成为顶层表单。,使其成为顶层表单。

(( 55 )在表单的)在表单的 INITINIT事件代码中添加调用菜单程序的命令:事件代码中添加调用菜单程序的命令: DO bdcd.mpr WITH THIS,’xxx’DO bdcd.mpr WITH THIS,’xxx’

Page 31: 第 9 章  菜单设计与应用

9.3 9.3 快捷菜单设计快捷菜单设计

Page 32: 第 9 章  菜单设计与应用

11 .建立快捷菜单.建立快捷菜单 方法:方法:

选择“文件”菜单中的“新建”命令。选择“文件”菜单中的“新建”命令。 选择“新建”对话框中的“菜单”按钮,单击“新建文件”选择“新建”对话框中的“菜单”按钮,单击“新建文件”

按钮。按钮。 选择“新建菜单”对话框中的“快捷菜单”按钮,打开“快选择“新建菜单”对话框中的“快捷菜单”按钮,打开“快

捷菜单设计器”窗口。捷菜单设计器”窗口。 在“快捷菜单设计器”窗口中设计快捷菜单,单击“菜单”在“快捷菜单设计器”窗口中设计快捷菜单,单击“菜单”

下的“生成”命令,生成菜单程序文件。下的“生成”命令,生成菜单程序文件。 在表单设计器环境下,选定需要添加快捷菜单的对象。在表单设计器环境下,选定需要添加快捷菜单的对象。 在属性窗口的方法程序列表框中,双击“在属性窗口的方法程序列表框中,双击“ RightClick EvenRightClick Even

t”t” 项,在选定对象的项,在选定对象的 RightClickRightClick事件代码中添加调用快捷事件代码中添加调用快捷菜单程序的命令:菜单程序的命令: DODO〈快捷菜单程序文件名〉〈快捷菜单程序文件名〉

Page 33: 第 9 章  菜单设计与应用

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

Page 34: 第 9 章  菜单设计与应用

菜单名称菜单名称 结 果 结 果日期(日期( \<D\<D )) 过程:过程: s=DTOC(DATE(),1)s=DTOC(DATE(),1)

ss=LEFT(s,4)+’ss=LEFT(s,4)+’ ’年’年 SUBS(s,5,2)+’SUBS(s,5,2)+’ ’月’月 +RIGHT(s,2)+’+RIGHT(s,2)+’ ’日’日mfRef.CAPTION=ssmfRef.CAPTION=ss

时间(时间( \<T\<T )) 过程:过程: s=TIME()s=TIME()ss=LEFT(s,2)+’ss=LEFT(s,2)+’ ’时’时 SUBS(s,4,2)+’SUBS(s,4,2)+’ ’分’分 +RIGHT(s,2)+’+RIGHT(s,2)+’ ’秒’秒mfRef.CAPTION=ssmfRef.CAPTION=ss

\-\- 加分组线分隔上下两项加分组线分隔上下两项放大(放大( \<L\<L )) 过程:过程: w=mfRef.WIDTHw=mfRef.WIDTH

h=mfRef,HEIGHTh=mfRef,HEIGHTmfRef.WIDTH=w+w*0.1mfRef.WIDTH=w+w*0.1mfRef.HEIGHT=h+h*0.1mfRef.HEIGHT=h+h*0.1

缩小(缩小( \<S\<S )) 过程:过程: w=mfRef.WIDTHw=mfRef.WIDTHh=mfRef,HEIGHTh=mfRef,HEIGHTmfRef.WIDTH=w-w*0.1mfRef.WIDTH=w-w*0.1mfRef.HEIGHT=h-h*0.1mfRef.HEIGHT=h-h*0.1

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

Page 35: 第 9 章  菜单设计与应用

操作步骤:操作步骤: (( 11 )打开“快捷菜单设计器”窗口,按表所列的内容定义快捷)打开“快捷菜单设计器”窗口,按表所列的内容定义快捷

菜单中各选项的内容。菜单中各选项的内容。 (( 22 )选择“显示”菜单中的“常规选项”命令,打开“常规选)选择“显示”菜单中的“常规选项”命令,打开“常规选

项”对话框。 项”对话框。 (( 33 )依次选择“设置”和“清理”复选框,打开“设置”和)依次选择“设置”和“清理”复选框,打开“设置”和

“清理”代码编辑窗口,快捷菜单的“设置”代码是一条接收当“清理”代码编辑窗口,快捷菜单的“设置”代码是一条接收当前表单对象引用的参数语句:前表单对象引用的参数语句:

PARAMETERS MFREFPARAMETERS MFREF (( 44 )快捷菜单的“清理”代码中包含清除快捷菜单的命令:)快捷菜单的“清理”代码中包含清除快捷菜单的命令:

RELEASE POPUPS kjcdRELEASE POPUPS kjcd (( 55 )选择“显示”菜单的“菜单选项”命令,打开“菜单选)选择“显示”菜单的“菜单选项”命令,打开“菜单选

项”对话框,在“名称”框中输入快捷菜单的内部名字项”对话框,在“名称”框中输入快捷菜单的内部名字 kjcdkjcd 。。

Page 36: 第 9 章  菜单设计与应用

操作步骤:操作步骤: (( 66 )单击“文件”菜单中的“保存”按钮,将结果保存在菜单)单击“文件”菜单中的“保存”按钮,将结果保存在菜单

定义文件定义文件 kjcd.mnxkjcd.mnx 和菜单备注文件和菜单备注文件 kjcd.mntkjcd.mnt 中。 中。 (( 77 )单击“菜单”菜单中“生成”命令,产生快捷菜单程序文)单击“菜单”菜单中“生成”命令,产生快捷菜单程序文

件件 kjcd.mprkjcd.mpr 。 。 (( 88 )打开标题为“快捷菜单”的表单,在表单的)打开标题为“快捷菜单”的表单,在表单的 RightClickRightClick事件代码中添加调用快捷菜单的命令:事件代码中添加调用快捷菜单的命令:

DO kjcd.mpr WITH ThisDO kjcd.mpr WITH This

Page 37: 第 9 章  菜单设计与应用
Page 38: 第 9 章  菜单设计与应用