返 回 总 目 录DEFINE MENU 命 令DEFINE PAD 命 令DEFINE POPUP 命 令DEFINE WINDOW 命 令
DefOLELCID 属 性DELETE 命 令DELETE-SQL 命 令
DELETE CONNECTION 命 令DELETE DATABASE 命 令DELETE FILE 命 令
DELETE TAG 命 令DELETE TRIGGER 命 令DELETE VIEW 命 令
DeleteColu m n 方 法Deleted 事 件DELETED( ) 函 数
DeleteMark 属 性
DESCENDING( ) 函 数
Description 属 性
Desktop 属 性
Destroy 事 件
_DIARYDATE 系 统 变 量DIFFERENCE( ) 函 数DIMENSION 命 令
DIR 或 DIRECTORY 命 令
DIRECTORY( ) 函 数
D isabledBackColor, DisabledForeColor 属 性
D isabledIte mBackColo r, D isabledIte mForeColor 属 性
D isabledPicture 属 性DISKSPACE( ) 函 数DISPLAY 命 令
DISPLAY CONNECTIONS 命 令DISPLAY DATABASE 命 令DISPLAY DLLS 命 令
DISPLAY FILES 命 令
D E F I N E M E N U 命 令
创建菜单栏
语 法
DEFINE MENU MenuBarName
[BAR [AT LINE nRow ]]
[IN [WINDOW] W indowName | IN SCREEN]
[FONT cFontName [, nFontSize ]] [STYLE cFontStyle ]
[KEY KeyLabe l ]
[MARK cMarkCharacte r] [MESSAGE cMessageText ] [NOMARGIN]
[COLOR SCHEME nSchemeNumber
| COLOR ColorPairLis t]
参 数 描 述
MenuBarName
指 定 要 创 建 的 菜 单 栏 的 名 称 给 菜 单 栏 命 名 使 您 能 够 在 其 他 命 令 和 函 数 中 引用 该 菜 单 栏
BAR [AT LINE nRow ]
创 建 一 个 与 V isual FoxPro 系 统 菜 单 栏 类 似 的 菜 单 栏 该 菜 单 栏 有 以 下 特 征
-
水
平 菜 单 栏 的 高 度 为 一 个 行 高 宽 度 为 它 所 在 的 V isual FoxPro 主 窗 口 或用 户 自 定 义 窗 口 的 宽 度
-
自 动
处 理 菜 单 栏 上 菜 单 标 题 的 位 置
-
如
果 您 所 定 义 的 菜 单 标 题 的 大 小 与 数 目 超 出 了 菜 单 栏 所 在 的 屏 幕 或 窗 口 的大 小 可 以 滚 动 菜 单 栏
行号用 nRow 指定
IN [WINDOW] W indowName
在 用 户 自 定 义 窗 口 中 放 置 一 个 菜 单 栏 WindowName 指 定 用 户 自 定 义 窗 口
名 如 果 省 略 IN WINDOW 除 非 有 一 个 活 动 的 用 户 自 定 义 窗 口 在 默 认 的情 况 下 菜 单 栏 放 置 在 主 窗 口 中 如 果 有 一 个 活 动 的 用 户 自 定 义 窗 口 菜 单栏 就 放 在 其 中
IN SCREEN
在 V isual FoxPro 主 窗 口 中 放 置 菜 单 栏
FONT cFontName [, nFontSize ]
为 菜 单 栏 中 所 有 的 菜 单 标 题 指 定 默 认 的 字 体 在 DEFINE PAD 中 包 含 F O N T
子 句 可 以 改 写 单 个 菜 单 标 题 的 默 认 字 体
cFontName 指定字体名称 nFontSize 指定磅值 例如 下面的命令创建一个菜单栏
它的菜单标题使用 12 磅 Courier 字体
DEFINE MENU mnu 示 例 FONT 'Courier', 12
如果在 FONT 子句中省略磅值 nFontSize 就使用 10 磅字体 如果指定的字体不可用就用相似的字体代替
添加到 Visual FoxPro 系统菜单 _MSYSMENU 中的菜单标题忽略 FONT 子句 注意菜单设计器使用的是 Visual FoxPro 系统菜单
STYLE cFontStyle
为 菜 单 栏 中 所 有 的 菜 单 标 题 指 定 一 个 默 认 的 字 形 在 DEFINE PAD 命 令 中 包含 STYLE 子 句 可 以 改 写 单 个 菜 单 标 题 的 默 认 字 形
如果省略了 STYLE 子句 就使用常规字形 在 Visual FoxPro 中 如果指定的字形不可用 那么就用相似的字形代替
下表列出了可以使用 cFontStyle 指定的字形
字 符 字 形
B 粗体
I 斜体
N 常规
Q 不透明
– 删除线
-
透明
-
下划线
可以组合多个字符来指定一个字形 例如 下列命令指定粗斜体
DEFINE MENU mnuexample STYLE 'BI'
添加到 Visual FoxPro 系统菜单 _MSYSMENU 中的菜单标题忽略 STYLE 子句 注意菜单设计器使用的是 Visual FoxPro 系统菜单
KEY KeyLabel
指 定 用 于 激 活 菜 单 栏 的 键 或 组 合 键 有 关 可 用 键 或 组 合 键 以 及 它 们 的 键 标记 名 的 内 容 请 参 阅 ON KEY LABEL
包含 KEY 子句等于使用了下列命令
ON KEY LABEL KeyLabel ACTIVATE MENU MenuName
注 意 如 果 一 个 键 同 时 具 有 键 标 记 和 键 盘 宏 则 键 盘 宏 优 先 不 能 用 它 指 定 的 键或 组 合 键 来 激 活 菜 单 栏
M A R K cMarkCharacter
指 定 在 菜 单 栏 的 菜 单 标 题 左 端 出 现 的 标 记 字 符 可 以 使 用 M A R K 将 默 认 的标 记 字 符 改 为 用 cMarkCharacter 指 定 的 标 记 字 符 如 果 cMarkCharacter 包含 一 个 以 上 字 符 则 仅 有 第 一 个 字 符 用 作 标 记 字 符
在 Visual FoxPro 中 默认的标记字符是对勾号 如果菜单栏是 Visual FoxPro 系统菜单 就忽略 MARK 子句 而使用默认的标记字符 如果菜单栏所在的 Visual FoxPro 主窗口或用户自定义窗口中的字体不是 FoxFont 则忽略 MARK 子句
注 意 指 定 一 个 标 记 字 符 并 不 能 在 菜 单 栏 上 标 记 菜 单 名 可 使 用 S E T M A R K O F
和 指 定 的 字 符 在 菜 单 栏 上 标 记 菜 单 标 题
DEFINE PAD 指定的标记字符优先于 DEFINE MENU 中用 MARK 子句指定的标记字符 SET MARK OF 用来切换标记字符的打开或关闭 它也能用来为单个菜单项或所有的菜单项指定标记字符
MESSAGE cMessageText
当 您 选 择 菜 单 标 题 时 显 示 一 条 信 息 在 V isual FoxPro 中 信 息 放 在 图 形 方 式状 态 栏 中 如 果 图 形 方 式 状 态 栏 被 SET STATUS BAR OFF 关 闭 信 息 就 显示 在 V isual FoxPro 主 窗 口 中 最 后 一 行 的 中 央
N O M A R G IN
默 认 情 况 下 删 除 每 个 菜 单 名 左 端 和 右 端 的 空 格
COLOR SCHEME nSchemeNumber
为 单 个 菜 单 栏 指 定 颜 色
COLOR ColorPairList
为 单 个 菜 单 栏 指 定 颜 色 默 认 情 况 下 菜 单 项 的 颜 色 由 当 前 颜 色 集 中 配 色 方案 2 决 定
有关颜色方案和颜色对的详细内容 请参阅稍前部分的 颜色概述
说 明
使用 DEFINE MENU 为应用程序的菜单系统创建菜单栏 使用 DEFINE PAD 在菜单栏上创建菜单标题 使用 ON PAD ... ACTIVATE 指定在每个菜单标题下显示的菜单使用 DEFINE POPUP 在每个菜单标题下创建菜单 使用 ACTIVATE MENU 激活整个菜单系统
如果使用菜单设计器创建菜单 就完全没有必要使用这些命令 菜单设计器自动地为菜单创建命令 菜单设计器使用 Visual FoxPro 系统菜单 您可以通过添加自己的菜单项更新它
有关创建菜单的详细内容 请参阅 Microsoft Visual FoxPro 6.0 中文版程序员指南第十一章 设计菜单和工具栏 中的 创建菜单系统
示 例
以下示例使用 DEFINE MENU 命令创建用户自定义的菜单系统 首 先 使 用 SET SYSMENU SAVE 命令将当前系统菜单栏存入内存 然后使用 SET SYSMENU TO 命令清除系统菜单标题
使用 DEFINE MENU 命令创建菜单栏 使用 DEFINE PAD 命令创建两个菜单标题DEFINE POPUP 为每个菜单标题创建菜单 DEFINE BAR 创建在每个菜单上的菜单项 当选择菜单标题时 ON PAD 使用 ACTIVATE POPUP 激活相应的菜单ACTIVATE MENU 显示并激活菜单栏
当从菜单中选取菜单项时 执行 CHOICE 过程 CHOICE 显示已选取菜单项的名称和包含菜单项的菜单名
*** Name this program DEFIMENU.PRG ***
CLEAR
SET SYSMENU SAVE SET SYSMENU TO
ON KEY LABEL ESC KEYBOARD CHR(13)
example 1
DEFINE PAD convpad OF example PROMPT '\<Conversions' COLOR SCHEME 3 ; KEY ALT+C, ''
DEFINE PAD cardpad OF example PROMPT 'Card \<Info' COLOR SCHEME 3 ;
KEY ALT+I, ''
ON PAD convpad OF example ACTIVATE POPUP conversion ON PAD cardpad OF example ACTIVATE POPUP cardinfo
DEFINE POPUP conversion MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF conversion PROMPT 'Ar\<ea' ; KEY CTRL+E, '^E'
DEFINE BAR 2 OF conversion PROMPT '\<Length' ;
KEY CTRL+L, '^L'
DEFINE BAR 3 OF conversion PROMPT 'Ma\<ss' ; KEY CTRL+S, '^S'
DEFINE BAR 4 OF conversion PROMPT 'Spee\<d' ; KEY CTRL+D, '^D'
DEFINE BAR 5 OF conversion PROMPT '\<Temperature' ;
KEY CTRL+T, '^T'
DEFINE BAR 6 OF conversion PROMPT 'T\<ime' ; KEY CTRL+I, '^I'
DEFINE BAR 7 OF conversion PROMPT 'Volu\<me' ;
KEY CTRL+M, '^M'
ON SELECTION POPUP conversion DO choice IN defimenu WITH PROMPT( ), POPUP( ) DEFINE POPUP cardinfo MARGIN RELATIVE COLOR SCHEME 4
DEFINE BAR 1 OF cardinfo PROMPT '\<View Charges' ;
KEY ALT+V, ''
DEFINE BAR 2 OF cardinfo PROMPT 'View \<Payments' ; KEY ALT+P, ''
DEFINE BAR 3 OF cardinfo PROMPT 'Vie\<w Users' ; KEY ALT+W, ''
DEFINE BAR 4 OF cardinfo PROMPT '\-'
DEFINE BAR 5 OF cardinfo PROMPT '\<Charges ' ON SELECTION POPUP cardinfo;
DO choice IN defimenu WITH PROMPT( ), POPUP( )
ACTIVATE MENU example DEACTIVATE MENU example RELEASE MENU example EXTENDED SET SYSMENU TO DEFAULT
ON KEY LABEL ESC
PROCEDURE choice PARAMETERS mprompt, mpopup
WAIT WINDOW 'You chose ' + mprompt + ; ' from popup ' + mpopup NOWAIT
请 参 阅
ACTIVATE MENU , CNTPAD ( ) , CREATE MENU , DEACTIVATE MENU , DEFINE PAD , GETPAD( ) , HIDE MENU , MRKPAD( ) , ON PAD , O N SELECTION PAD, PRMPAD( ) , RELEASE MENU S , RELEASE PAD , SET M A R K O F , SET SYSMENU , S H O W M E N U