- UID
- 116330
- 积分
- 42
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2004-3-22
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
自定义工具栏
在 MNU 文件的工具栏部分中,可以创建带有按钮、弹出和特殊控件元素的工具栏,并可以将自己的位图用作按钮图标。
如果要创建或更改工具栏或者要创建、重新排列、添加或删除按钮和弹出,可以使用 CUSTOMIZE。MNU 文件的工具栏部分的菜单项语法如下例所示。除分隔行外,所有行都以标准名称标记开头,名称标记用于将帮助信息与项目关联起来。在下例中,**TOOLS1 是子菜单,它用别名 TOOLS1 作标签来引用随后的工具栏定义。
***TOOLBARS
**TOOLS1
TAG1 [Toolbar ("tbarname", orient, visible, xval, yval, rows)]
TAG2 [Button ("btnname", id_small, id_large)]macro
TAG3 [Flyout ("flyname", id_small, id_large, icon, alias)]macro
TAG4 [Control (element)]
[--]
工具栏子菜单的第一行(样例中的 TAG1)是工具栏定义,它定义工具栏的特性。子菜单中其余的行是其余工具栏项的混合。上例的第二行 (TAG2) 定义一个按钮。第三行 (TAG3) 定义一个弹出控件。第四行 (TAG4) 定义一个特殊的控件元素。第五行定义一个分隔条 (--)。
工具栏定义包括关键字 Toolbar 和包含在括号中的一系列选项。选项定义工具栏的显示特性。
TAG1 [Toolbar ("tbarname", orient, visible, xval, yval, rows)]
具体选项如下所示:
tbarname
命名工具栏的字符串。该字符串必须由字母数字字符组成,并且除了连字号 (-) 和下划线 (_) 以外不能包含其他标点符号。可以使用此名称(和别名)通过编程来引用工具栏。
orient
工具栏的方位。值包括 floating、top、bottom、left 和 right,不区分大小写。
visible
工具栏的可见性。值包括 show 和 hide,不区分大小写。
xval
数字值,按像素指定 X 坐标。此值为屏幕左边到工具栏左端的距离。
yval
数字值,按像素指定 Y 坐标。此值为屏幕顶部到工具栏顶部的距离。
rows
指定行数的数值。
下例是 acad.mnu 中缩放工具栏的开始几行:
**TB_ZOOM
ID_TbZoom [_Toolbar("Zoom", _Floating, _Hide, 100, 380, 1)]
ID_ZoomWindo [Button("Zoom Window", ICON_16_ZOOWIN, ICON_16_ZOOWIN,)]’_zoom_w
ID_ZoomDynam [Button("Zoom Dynamic", ICON_16_ZOODYN, ICON_16_ZOODYN,)]’_zoom_d
ID_ZoomScale [Button("Zoom Scale", ICON_16_ZOOSCA, ICON_16_ZOOSCA,)]’_zoom_s
注意 每一行都以 ID 开始,并且不换行。
要通过局部菜单控制工具栏,请在 -TOOLBAR 命令的“工具栏名称”提示中使用下列语法:
menugroup.toolbarname
以下 AutoLISP 代码将在菜单组 MYGROUP 中显示工具栏 MYBAR(此代码假定已经加载 MYGROUP 菜单)。
(command "toolbar" "mygroup.mybar" "show")
如果不包括 menugroup,则 AutoCAD 默认将该工具栏显示在基本菜单中。
-------------------------------------------------------------------------------------------------------
创建下拉菜单和快捷菜单
POP1 到 POP499 菜单文件部分用于定义从菜单栏下拉的菜单。
下例展示了用于创建下拉菜单的语法。
***POP13
**MYTOOLS
M_Tools [&MyTools]
M_Save [&Save\tCtrl+S]^C^C_qsave
[--]
M_ShwTB [Show MyToolbar]^C^C_-toolbar mytools s
M_HidTB [Hide MyToolbar]^C^C_-toolbar mytools h
[--]
M_EMenu [Edit MyMenu]^C^C^P(command"notepad"(findfile"my.mnu")) ^P
M_LMenu [Reload MyMenu]^C^C^P(command"_menu""my.mnu") ^P
[--]
M_EPgp [Edit PGP]^C^C^P(command"notepad"(findfile"acad.pgp")) ^P
M_LPgp [Reload PGP]^C^C_re-init 16
每个菜单部分都可以拥有一个或多个别名,这些别名由 ***POPn 菜单部分标签后面的 **alias 标签定义。在上例中,**MYTOOLS 是 POP13 菜单的别名。
注意 POPn 菜单部分不再支持早期版本中使用的 **submenu 语法。如果 **alias 出现在部分标签之后以及菜单项之前,则该语法有效。
对于 POP1 到 POP16 菜单部分,AutoCAD 将构造包含这些部分的标题的菜单栏。如果未定义 POP1 到 POP16 部分,AutoCAD 将插入默认的“文件”和“编辑”菜单。
注意 如果没有定义活动的下拉菜单(POP1 到 POP16),则不能使用快捷菜单 POP0。
对于编号大于 POP16 并小于 POP500 的弹出菜单部分,可以使用 MENULOAD 或通过菜单交换步骤把它们插入菜单栏。
定义菜单栏标题
对于下拉菜单,第一个标签用于定义菜单栏中显示的标题。下例是 POP2 下拉菜单的开始部分。
***POP2
ID_MnEdit [&Edit]
ID_U [&Undo\tCtrl+Z]_u
ID_Redo [&Redo\tCtrl+Y]^C^C_redo
在 ***POP2 部分标签后的第一行上,标签 [&Edit] 使“编辑”显示为菜单栏标题。字母 E 之前的符号 (&) 将在该字母下加下划线以表明它是一个访问键。与菜单标题相关的名称标记 ID_MnEdit 可用于启用和禁用该整个菜单。(定义菜单栏标题的行不能有菜单宏。)
要通过键盘访问菜单或菜单项,请按住 ALT 键并按访问键。标签中的任一字母都可以是访问键,但是访问键对于其菜单或子菜单必须是唯一的。例如,在 AutoCAD 的“修改”菜单上,m 用于表示“特性匹配”,因此“镜像”和“移动”必须使用其他字母。因为“文字”在“对象”子菜单中,所以“修剪”和“文字”都可以使用字母 t。
----------------------------------------------------------------------------------------------------------- |
|