找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1037|回复: 7

[必看]:对下拉菜单和工具栏还有疑问的朋友们进来看看吧:)

[复制链接]
发表于 2004-4-19 22:51:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
自定义工具栏     



在 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。


-----------------------------------------------------------------------------------------------------------
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-4-20 23:46:38 | 显示全部楼层
好帖,说的很详细,请楼主再讲讲屏幕菜单的知识!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-21 14:16:25 | 显示全部楼层
为什么还要让楼主讲屏幕菜单的知识呢?这个不是就放在主窗口上的吗?  楼主讲的好全面,比我买的书上讲的易懂了,谢谢楼主
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-9 09:29:08 | 显示全部楼层
请问,为什么我的下拉菜单不能和cad的菜单同时出现啊,加载我自己编的系统cad菜单就不见了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-9 23:44:23 | 显示全部楼层
请问:在2005中编辑了图标的位图储存,它总是存在我的文档中并改了名。按钮图标的位图放在什么文件中才正确。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-14 11:45:18 | 显示全部楼层
  也许CAD的帮助文件讲得更详细些,也更权威。我都是看帮助文件学习的。不过还是支持一下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-14 12:06:50 | 显示全部楼层
有一个问题,我以前写过一个,可是为什么最后一栏的命令在点击时却不能用,其它都可以用的,不管怎么搞就是最后一行不能用如:M_LPgp [Reload PGP]^C^C_re-init 16
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-10-14 15:05:43 | 显示全部楼层
楼上的

我记得在写菜单时最后一行应为空行

不知你那个是不是这个原因
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 11:51 , Processed in 0.194500 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表