创建菜单栏。
语法
DEFINE MENU MenuBarName
[BAR [AT LINE nRow]]
[IN [WINDOW] WindowName | IN SCREEN]
[FONT cFontName [, nFontSize]]
[STYLE cFontStyle]
[KEY KeyLabel]
[MARK cMarkCharacter]
[MESSAGE cMessageText]
[NOMARGIN]
[COLOR SCHEME nSchemeNumber
| COLOR ColorPairList]
参数
MenuBarName
指定要创建的菜单栏的名称。给菜单栏命名使您能够在其他命令和函数中引用该菜单栏。
BAR [AT LINE nRow]
创建一个与 Visual FoxPro 系统菜单栏类似的菜单栏,该菜单栏有以下特征:
可用 AT LINE 子句指定菜单所在的行。在 Visual FoxPro 和 FoxPro for Windows 中忽略 AT LINE 子句,行号用 nRow 指定。
IN [WINDOW] WindowName
在用户自定义窗口中放置一个菜单栏。WindowName 指定用户自定义窗口名。如果省略 IN WINDOW,除非有一个活动的用户自定义窗口,在默认的情况下,菜单栏放置在 Visual FoxPro 主窗口中。如果有一个活动的用户自定义窗口,菜单栏就放在其中
IN SCREEN
在 Visual FoxPro 主窗口中放置菜单栏。
FONT cFontName [, nFontSize]
为菜单栏中所有的菜单标题指定默认的字体,在 DEFINE PAD 中包含 FONT 子句可以改写单个菜单标题的默认字体。
cFontName 指定字体名称,nFontSize 指定磅值。例如,下面的命令创建一个菜单栏,它的菜单标题使用 12 磅 Courier 字体:
DEFINE MENU mnu示例 FONT 'Courier', 12
如果在 FONT 子句中省略磅值 nFontSize,就使用 10 磅字体。在 Visual FoxPro 中,如果指定的字体不可用,就用相似的字体代替。
添加到 Visual FoxPro 系统菜单 _MSYSMENU 中的菜单标题忽略 FONT
子句。注意菜单设计器使用的是 Visual FoxPro 系统菜单。
STYLE cFontStyle
为菜单栏中所有的菜单标题指定一个默认的字形,在 DEFINE PAD 命令中包含 STYLE 子句可以改写单个菜单标题的默认字形。
如果省略了 STYLE 子句,就使用常规字形。在 Visual FoxPro 中,如果指定的字形不可用,那么就用相似的字形代替。
下表列出了可以用 cFontStyle 指定的字形:
字符 | 字形 |
B | 粗体 |
I | 斜体 |
N | 常规 |
Q | 不透明 |
- | 删除线 |
T | 透明 |
U | 下划线 |
可以组合多个字符来指定一个字形。例如,下列命令指定粗斜体:
DEFINE MENU mnu示例 STYLE 'BI'
添加到 Visual FoxPro 系统菜单 _MSYSMENU 中的菜单标题忽略 STYLE
子句。注意菜单设计器使用的是 Visual FoxPro 系统菜单。
KEY KeyLabel
指定用于激活菜单栏的键或组合键。有关可用键或组合键,以及它们的键标记名的内容,请参阅 ON KEY LABEL
。包含 KEY 子句等于使用了下列命令:
ON KEY LABEL KeyLabel ACTIVATE MENU MenuName
注意 如果一个键同时具有键标记和键盘宏,则键盘宏优先,不能用它指定的键或组合键来激活菜单栏。
MARK cMarkCharacter
指定在菜单栏的菜单标题左端出现的标记字符。可以使用 MARK 将默认的标记字符改为用 cMarkCharacter 指定的标记字符。如果 cMarkCharacter 包含一个以上字符,则仅有第一个字符用作标记字符。
在 Visual FoxPro、FoxPro for Windows 和 FoxPro for Macintosh 中默认的标记字符是对号,在 FoxPro for MS-DOS 中默认的标记字符为菱形。
在 Visual FoxPro、FoxPro for Windows 和 FoxPro for Macintosh 中忽略 MARK 子句。如果菜单栏是 Visual FoxPro 系统菜单,就使用默认的标记字符。如果放置菜单栏所在的 Visual FoxPro 主窗口或用户自定义窗口中的字体不是 FoxFont,则忽略 MARK 子句。
注意 指定一个标记字符并不能在菜单栏上标记菜单名。可使用 SET MARK OF
和指定的字符在菜单栏上标记菜单标题。
DEFINE PAD 指定的标记字符优先于 DEFINE MENU 中用 MARK 子句指定的标记字符。SET MARK OF 用来切换标记字符的打开或关闭,它也能用来为单个菜单项或所有的菜单项指定标记字符。
MESSAGE cMessageText
当您选择菜单标题时显示一条信息。在 FoxPro for MS-DOS
中,信息 cMessageText 在默认的情况下显示在 FoxPro 主窗口最后一行的中央,信息的显示位置可用 SET MESSAGE 改变。
在 Visual FoxPro、FoxPro for Windows 和 FoxPro for Macintosh 中,信息放在图形方式状态栏中。如果图形方式状态栏被 SET STATUS BAR OFF
关闭,信息就显示在 Visual FoxPro 主窗口最后一行的中央。
NOMARGIN
默认情况下,删除每个菜单名左端和右端的空格。
COLOR SCHEME nSchemeNumber
为单个菜单栏指定颜色。在 FoxPro for MS-DOS 中,可以为所有的菜单项、标记字符和信息指定颜色。
COLOR ColorPairList
为单个菜单栏指定颜色。在 FoxPro for MS-DOS 中,可以为所有的菜单项、标记字符和信息指定颜色。
默认情况下,菜单项的颜色由当前颜色集中配色方案 2 决定。
有关配色方案和颜色对的详细内容,请参阅颜色概述主题。
说明
使用 DEFINE MENU 为应用程序的菜单系统创建菜单栏。使用 DEFINE PAD 在菜单栏上创建菜单标题。使用 ON PAD ... ACTIVATE 指定在每个菜单标题下显示的菜单。使用 DEFINE POPUP 在每个菜单标题下创建菜单。使用 ACTIVATE MENU 激活整个菜单系统。
如果使用菜单设计器创建菜单,就完全没有必要使用这些命令,菜单设计器自动地为菜单创建命令。菜单设计器使用 Visual FoxPro 系统菜单,您可以通过添加自己的菜单项更新它。有关创建菜单的详细内容,请参阅创建菜单系统和《开发指南》的第十二章“设计菜单和工具条”。