找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 冰火

[求助]:自定义右键菜单

[复制链接]
发表于 2003-5-2 08:49:28 | 显示全部楼层
在CAD2004中,那个*.MNU或*.MNS文件又在哪里?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-2 08:59:29 | 显示全部楼层
在这:http://www.xdcad.net/forum/showthread.php?threadid=44477

  1. <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="700" id="AutoNumber1" height="498">
  2.   <tr>
  3.     <td width="100%" height="489">
  4.       <iframe name="I1" width="100%" height="100%" src="http://www.xdcad.net/forum/showthread.php?threadid=44477">
  5. 浏览器不支持嵌入式框架或配置为不显示嵌入式框架
  6.       </iframe>
  7.     </td>
  8.   </tr>
  9. </table>
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-2 15:00:56 | 显示全部楼层
1.最初由 令狐冲 发布
[B]我说的就是这个啦 [/B].....................................

2.最初由 冰火 发布
[B]谢谢,再请教一下大侠,按住shift键后右键出现的捕捉菜单编辑是在mns文件的那一个字段? [/B]


1.那个快捷菜单叫做Zoom Shortcut Menu,定制时,需要修改acadres.dll,我看还是不改为好,以免造成不必要的麻烦。不过,实在需要的话也是可以的,见下图:
你可以用EXESCOPE.EXE打开acadres.dll,删掉“资源——菜单——296”中的“三维动态观察器”

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

使用道具 举报

发表于 2003-5-2 17:53:15 | 显示全部楼层
主要问题已经有高手解决了,我也不用重复。在这里我顺便提点建议,我觉得画图时只用鼠标操作有点慢,而且也不是很方便,我通常是一只手操作键盘,一直手操作鼠标,命令几乎都是由键盘输入。我觉得这样不仅可以提高画图速度,而且很方便。个人意见。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-3 22:16:42 | 显示全部楼层
这个问题困扰我恨久了但不知怎样打开DLL文件请指教,谢谢!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-5-3 23:07:34 | 显示全部楼层
这一次真长见识,这才是真正的高手!27182818284 请问你是做什么的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-5-4 00:08:45 | 显示全部楼层
最初由 lanxunkj 发布
[B]这一次真长见识,这才是真正的高手!27182818284 请问你是做什么的? [/B]


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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2003-6-27 10:55:12 | 显示全部楼层
关于AutoCAD R13 for Windows以后的各版本的AutoCAD的菜单文件 :

AutoCAD从R13 for Windows开始就修改了原先之前的R12菜单只使用acad.mnu(菜单文本文件)
acad.mnx(编译后的菜单),
因为使用了工具栏图标,所以这些图标资源也需要保存.
故而有以下这些菜单文件:

  1. MNU        样板菜单文件。
  2. MNC        编译后的菜单文件。此二进制文件包含定义菜单功能和外观的命令字符串和菜单语法(由 AutoCAD 生成,刚安装好的AutoCAD是没有这个文件的,将在第一次启动AutoCAD后生成)。
  3. MNR        菜单资源文件。此二进制文件包含由菜单使用的位图(就是工具栏上的图标资源)。
  4. MNS        源菜单文件(由 AutoCAD 生成,刚安装好的AutoCAD是没有这个文件的,将在第一次启动AutoCAD后生成)。
  5. MNT        菜单资源文件。在 MNR 文件无效(例如,只读)时生成该文件。
  6. MNL        与菜单配套的 AutoLISP 程序。这些文件包含由菜单文件使用的 AutoLISP 表达式。当加载同名的菜单文件时,这些文件也载入内存。
复制代码



以下内容来自AtoCAD 2000中文帮助文档的自定义菜单参考

  1. 用 MENU 命令加载新菜单,用 MENULOAD 和 MENUUNLOAD 命令加载或卸载附加菜单(称为局部菜单),向菜单栏中增加菜单或从中删除某个菜单。
  2. AutoCAD 将最后加载的菜单文件的名称保存在系统注册表中。同时还将其名称保存在图形中,但这仅仅是为向后兼容考虑。在 AutoCAD 启动时,加载最后使用的菜单。自 R14 起,AutoCAD 不再对每个图形重载菜单。
  3. AutoCAD 按如下顺序查找和加载指定的文件。(AutoCAD 也按照此顺序用 MENU 命令加载新菜单。)

  4. 1        AutoCAD 查找给定名称的菜单资源文件 (MNS),查找时遵循库搜索程序。

  5. 如果找到一个 MNS 文件,AutoCAD 在同一个目录中查找编译后的同名菜单文件 (.mnc)。如果 AutoCAD 找到一个匹配的 MNC 文件,并且该文件日期和时间与 MNS 文件相同或稍后,则加载该 MNC 文件。否则,AutoCAD 编译该 MNS 文件,在同一个目录中生成新的 MNC 文件,然后加载该文件。
  6.         如果没有找到 MNS 文件,AutoCAD 查找给定名称的编译后菜单文件,遵循库搜索程序。如果 AutoCAD 找到该 MNC 文件,将加载该文件。

  7. 如果 AutoCAD 既没有找到 MNS 文件,也没有找到 MNC 文件,则将在库路径中搜索给定名称的菜单样板文件 (.mnc)。如果找到该文件,它将编译出一个 MNC 和 MNS 文件,然后加载 MNC 文件。
  8.         如果 AutoCAD 没有找到任何给定名称的菜单文件,将显示一个错误信息并提示您输入另一个菜单文件名。

  9. 2        在查找、编译和加载 MNC 文件后,AutoCAD 按库搜索过程查找菜单 LISP 文件 (.mnl)。如果 AutoCAD 找到该文件,将计算该文件中的 AutoLISP 表达式。

  10. acad.mnl 文件包含由标准菜单文件 acad.mnu 使用的 AutoLISP 代码。每次加载 acad.mnu 文件时都加载 acad.mnl 文件。
  11. 每次 AutoCAD 编译 MNC 文件时,都生成一个菜单资源文件  (MNR),这个资源文件中包含菜单使用的位图。MNS 文件是 ASCII 文件,最初与 MNU 文件(没有注释或特殊格式)相同。MNS 文件由 AutoCAD 修改,以便反映每次用户通过界面对菜单文件内容所做的修改(例如修改工具栏的内容)。

  12. 虽然工具栏的最初位置在 MNU 或 MNS 文件中定义,但对工具栏位置、显示/隐藏和固定/浮动状态的改变都记录在系统注册表中。
  13. MNS 文件创建后将用于以后生成 MNC 和 MNR 文件。如果在生成 MNS 文件后又修改了 MNU 文件,则必须用 MENU 命令明确加载该 MNU 文件,使 AutoCAD 生成新的 MNS 和 MNC 文件,从而使所做的修改生效。
  14. 注意 如果通过用户界面修改工具栏,则应该在删除 MNS 文件之前,将 MNS 文件中修改的部分剪切并粘贴到 MNU 文件中。

  15. MENU 命令最初要求输入 MNS 或 MNC 文件。要重载修改过的 MNU 文件,必须从文件类型列表中选择“菜单样板”项目,然后从文件列表中选择 MNU 文件。这样可防止不小心重新编译了 MNU 文件,以至丢失了 MNS 中记录的从界面上对工具栏和局部菜单所做的修改。在编译和测试菜单文件时,可能会发现此过程十分繁琐。下面的 AutoLISP 例程定义了一个新命令 MNU,该命令无需通过所有提示,而直接重载当前的 MNU 文件。

  16. (defun C:MNU ()
  17.   (command "_menu" (strcat (getvar "menuname") ".mnu"))
  18.   (princ)

  19. )

  20. 如果将此代码添加到自己的 acad.lsp 文件中,则此命令在重启 AutoCAD 时自动定义。


上面所所得可能一时难以理解其含义,而且其中有不少并不完全准确.
就实际情况来说应该是这样的:

1.menu命令加载全局样板菜单,就是acad.mnu
2.menuload加载实际使用的各种菜单,(acad.mns或acad.mnc ,其他的用户菜单usermenu.mnc或usermenu.mns)
3.用户对菜单所作的修改都将保存在新生成的对应的mns和mnc中)
4.menu命令实际上没有什么用处了,
  因为用户对菜单的修改的两种途径:
  a. 在AutoCAD中通过相关自定义命令修改菜单会自动新的mns,mnc文件
  b. 用户直接手工修改mns文件后,因为文件日期新于原先的mnc,在启动AutoCAD时将会重新生成对应的mnc.
AutoCAD除了第一次启动外,并不使用mnu文件,除非用户非要恢复到最初状态.
(其实我一次都不让AutoCAD用mnu,因为我一装好就复制自己的自定义的acad.mns.acad.pgp等到support中)
5.你只需要把你的mns文件报存好,复制到任意一台机器上都可以使用了,基本上和你在自己机器上的菜单完全相同
  为什么是基本上呢?
  因为你的工具栏图标图标文件没有,那复制mnr文件过去可以吗?
  基本上可以,因为你可能使用了自己的bmp文件在菜单中,而别的机器中没有,所以出现工具栏上的图标全部变为了黄色的笑脸....8-)
  解决方法是: 使用菜单位图资源dll :
  

  1. 位图资源 DLL 用于保存工具栏、菜单和快捷菜单中使用的位图。AutoCAD 要想访问位图资源,必须满足下列条件:

  2. DLL 文件名必须与关联的菜单文件名相同。
  3.         资源必须命名而不是按索引编号。
  4.         DLL 文件必须与调用它的菜单文件位于相同的目录中。

  5. 要在菜单中使用这些资源,请在工具栏按钮的 id_small 和 id_big 参数中使用适当的资源名。
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-1 00:13:45 | 显示全部楼层
回15楼:
shift+右键的菜单请查找***AUX2下的内容(一般默认为**SNAP):
***AUX2
// Shift + button
$P0=SNAP $p0=*
$P0=SNAP $p0=*
其中第一行为shift+右键,第二行为shift+中键,此处相同,均为**SNAP。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-8-1 07:23:23 | 显示全部楼层
请问一下在修改有键菜单的时候,我该去那里找命令相对应代码??
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-17 06:37 , Processed in 0.182284 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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