找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 644|回复: 4

[分享]:菜单加载工具,从多个菜单内指定一个置顶的主菜单。

[复制链接]
发表于 2004-5-7 08:02:42 | 显示全部楼层 |阅读模式

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

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

×
说明:
在cad中有时会加载多个菜单,除了“menu”命令调入的主菜单外,其余的是用“menuload”命令调入的。如bonus、用户自定菜单等,通常下拉菜单只显示主菜单的内容。
如果要把下拉菜单切换到另一个菜单文件,又不改变已经加载的菜单,需要先“menu”加载主菜单,再“menuload”逐个加载其他菜单,比较麻烦。
这个工具的功能是直接置顶指定菜单,同时保留已经加载的其它菜单。
用法:
($$_menuload menuname)
menuname: 要置顶的菜单文件名,如果当前还没有加载也没关系。


  1.   [FONT=courier new]
  2. ;;;得到目前加载的菜单名
  3. ;;;        v1.0  - 2004.4.3

  4. (defun $$_menu_group_file (/ lst menus each aco)
  5.   (vl-load-com)
  6.   (setq menus (vla-get-menugroups (vlax-get-acad-object)))
  7.   (vlax-for each menus
  8.     (setq
  9.       lst (cons        (cons (vla-get-name each) (vla-get-menufilename each))
  10.                 lst
  11.           )
  12.     )
  13.   )
  14.   (vlax-release-object menus)
  15.   (reverse lst)
  16. )

  17. ;;菜单加载
  18. ;;        v0.9- 2004.2.21        以点对表接受菜单组信息,大小写不敏感

  19. (defun $$_menuload (menuname / lst1 x menufullname)
  20.   (setvar "cmdecho" 0)

  21.   (princ "\n菜单加载程序 v1.0 ")
  22.   (setq lst1 ($$_menu_group_file))
  23.   (gc)
  24.   (cond
  25.     ((and (setq        menufullname
  26.                  (cdr
  27.                    (assoc
  28.                      (strcase menuname)
  29.                      (mapcar
  30.                        '(lambda (x) (cons (strcase (car x)) (cdr x)))
  31.                        lst1
  32.                      )
  33.                    )
  34.                  )
  35.           )
  36.           (/= menufullname "")
  37.      )
  38.      (vl-cmdf "menu" menufullname)
  39.     )
  40.     ((or (findfile (strcat menuname ".mnu"))
  41.          (findfile (strcat menuname ".mnc"))
  42.      )
  43.      (vl-cmdf "menu" menuname)
  44.     )
  45.     (1 (princ (strcat "\n菜单 " menuname " 没有找到. ")))
  46.   )
  47.   (foreach x lst1
  48.     (or        (menugroup (car x))
  49.         (not (cdr x))
  50.         (vl-cmdf "menuload" (cdr x))
  51.     )
  52.   )
  53.   (princ)
  54. )

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

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-5-7 09:13:25 | 显示全部楼层

Re: [分享]:菜单加载工具,从多个菜单内指定一个置顶的主菜单。

最初由 841594 发布
[B]说明:
在cad中有时会加载多个菜单,除了“menu”命令调入的主菜单外,其余的是用“menuload”命令调入的。如bonus、用户自定菜单等,通常下拉菜单只显示主菜单的内容。
如果要把下拉菜单切换到另一个菜单文件,又... [/B]

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

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2004-5-7 15:50:08 | 显示全部楼层
eachy:
添加的pop菜单位置不能自动保留,要实现这个功能,可以在对应的mnl文件里添加相应的语句,就像晓东工具箱一样。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 05:14 , Processed in 0.186583 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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