mikewolf2k 发表于 2005-10-1 18:53:00

如何切换menu?

<P>有一个二次软件,必须使用它的menu,不能和acad自己的menu共存,每次要切换时间都要先进入这个menu的acad,修改menu文件,才能变成另一个menu,比较麻烦。请问有没有办法,通过启动时加参数等方法,建立两个快捷方式,分别用不同的menu文件,这样想进哪个就进哪个,而不用进去之后再切换?</P>

小妹丁 发表于 2005-10-1 20:22:00

2005+二次软件,2006原装,不知这办法如何

mikewolf2k 发表于 2005-10-1 21:01:00

<P>这要装两个版本,比较麻烦,还是想想简单一点的方法吧。</P>
<P>谢谢小妹丁。</P>

zara 发表于 2005-10-2 08:03:00

比较简单的做法, 可以在二次开发的菜单里添加一项以载入 ACAD 菜单, 这个一般的二次菜单里应该是有的; 在 ACAD 菜单也加入载入二次开发的菜单项. 这样, 相互间的切换只要点一下相应的菜单或按钮就可以了. 当然了, 最好的方法还是以现在的 ACAD 菜单所使用的菜单组方式来要求或修改二次开发的菜单

mikewolf2k 发表于 2005-10-2 22:27:00

<P>楼上这个方法我也想过,在acad的菜单和二次软件的菜单分别加一项,点击即切换到另外一个menu。这样的话应该要写两个lisp吧?可惜俺对lisp一窍不通,有没有哪位帮忙写一个切换menu的lsp?先谢过了。</P>

zara 发表于 2005-10-3 09:31:00

<P>不需要专门的 lsp 文件的吧. 直接在菜单项处通过 menu 命令就是了. 比如在二次开发的菜单文件中: <BR>&nbsp; ^C^CMenu acad<BR>就会去调用标准的 ACAD 菜单的. 也是可以指定菜单文件的具体位置的, 象在标准的 ACAD 菜单中, 可以添加: <BR>&nbsp; [二次开发]^C^CMenu c:/二次开发/菜单文件</P>
<P>由于二次开发菜单是 .mnu 格式的, 所以, 在修改了之后, 应该通过 menu 命令先加载 .mnu 文件, 借此创建新的 .mnc, 以后就是直接调用 .mnc 文件了. ACAD.mns 的修改, ACAD 在加载 acad.mnc 时, 会自动进行时间检查的, 不需要自己手工加载编译的</P>

mikewolf2k 发表于 2005-10-3 11:04:00

<P>谢谢楼上的热心回答。我已经再acad和二次开发菜单中加入了项目切换菜单的项。接下来的问题:</P>
<P>1.我的二次菜单是在express菜单基础上改的,通过meluload将切换的菜单放在acad菜单中的一项,同express一样。为什么express的菜单加载之后就能在acad菜单中出现,而我写的菜单就必须在menubar中手工将菜单加入到acad菜单中?</P>
<P>2.从二次菜单切换到acad时,调用的是acad的菜单,这样通过menuload添加的express等项就没有了,因此再想切换的二次菜单就必须再手工加载切换项了。能不能从二次菜单切换到acad时menuload express等项?</P>

mikewolf2k 发表于 2005-10-3 11:34:00

<P>经过调试,上面问题解决了。接下来又有一个新问题,由于二次开发软件的菜单有两种(公制和英制),菜单内容一摸一样,也就是说用户并不知道当前是在哪个体系下,我想能不能改写acad的标题栏,这样就可以方便的看出当前是在哪个体系下。请问通过命令可以改写acad的标题栏吗?或者有其它什么方法可以实现我的目的?</P>

Joseflin 发表于 2005-10-3 13:47:00

<P>要达到你预期的结果,可以!方法:</P>
<P>OPTIONS→profiles→增设几组(add list)</P>
<P>每一组load 不同的mns,然后切换使用,既容易且方便。</P>

zara 发表于 2005-10-3 14:29:00

<P>8 楼: 标题栏一般不可以改变的吧. 倒是可以通过 ACAD 的系统变量 MODEMACRO 的设置, 在状态栏上显示相关的提示信息的</P>
<P>9 楼: 切换 Profiles, 操作上比直接的通过菜单项的选择进行要麻烦不少的吧, 尤其是需要比较经常进行的时候. </P>
页: [1] 2
查看完整版本: 如何切换menu?