找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 852|回复: 0

[求助] 菜单文件加载及生成问题

[复制链接]

已领礼包: 6个

财富等级: 恭喜发财

发表于 2016-8-25 12:03:21 | 显示全部楼层 |阅读模式

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

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

×
采用忘了哪个大侠的程序,当运行时不是直接加载和生成菜单而是弹出菜单加载窗口,怎么处理成直接生成并加载菜单?
  1. ;;;生成并加载菜单文件及工具条
  2. ;;;-----------------------------------------------------------------------
  3. (vl-load-com)
  4. ;;;=================================================================*
  5. ;;;功能:尝试获取菜单对象                                           *
  6. ;;;参数:无                                                         *
  7. ;;;返回:若成功,返回对象;否则,返回nil。                          *
  8. ;;; (fun-20140211-GetMyMenu  "制图工具")
  9. (defun FUN-20140211-GETMYMENU (STR / MENUGROUPS MENUS I TMPMENU MYMENU)
  10.   ;;检查菜单在当前菜单组中是否已经存在
  11.   (setq MENUGROUPS (vla-get-menugroups (vlax-get-acad-object)))

  12.   (setq  MYMENU NIL
  13.   J 0
  14.   )
  15.   (repeat (vla-get-count MENUGROUPS)
  16.     (setq MENUS  (vla-get-menus (vla-item MENUGROUPS J))
  17.     I  0
  18.     )
  19.     (repeat (vla-get-count MENUS)
  20.       (setq TMPMENU (vla-item MENUS I))
  21.       ;;(alert (vla-get-name TMPMENU))
  22.       (if (= (vla-get-name TMPMENU) STR)
  23.   (setq MYMENU TMPMENU)
  24.       )
  25.       (setq I (1+ I))
  26.     )
  27.     (setq J (1+ J))
  28.   )
  29.   ;;返回
  30.   MYMENU
  31. )

  32. ;;;=================================================================*
  33. ;;; 生成并加载菜单文件
  34. (defun make-MNUfile (/ FILE LST X)
  35. ;;0、文件放置位置选择
  36.   (if (or (setq FILENAME (findfile "acad.mnu"))
  37.     (setq FILENAME (findfile "acad.cui"))
  38.     (setq FILENAME (findfile "acad.exe"))
  39.     (setq FILENAME "c:\")
  40.       )
  41.     (setq
  42.       FILENAME (strcat (vl-filename-directory FILENAME)
  43.            "\\制图工具tool.mnu"
  44.          )
  45.     )
  46.   )
  47.   ;;1、生成菜单文件
  48.       (setq FILE (open FILENAME "W"))         
  49.       (foreach X
  50.          '("***MENUGROUP=制图工具G"

  51.      ;; 菜单
  52.      "\n\n***POP1"
  53.      "\nID_Mycad   [制图工具]"
  54.      "[--]"
  55.      "ID_MyCom [->环境建立hjjl]"
  56.      "ID_MyCom [新建图层A001] ^C^C^P_A001"
  57.      "ID_MyCom [DCL转换LSPA002] ^C^C^P_A002"
  58.      "ID_MyCom [图名线A003] ^C^C^P_A003"
  59.      "ID_MyCom [获取文件名A004] ^C^C^P_A004"
  60.      "ID_MyCom [剖切线A005] ^C^C^P_A005"
  61.      "ID_MyCom [双向阵列对象A006] ^C^C^P_A006"
  62.      "ID_MyCom [折断线A007] ^C^C^P_A007"
  63.      "ID_MyCom [布局粘贴图元A008] ^C^C^P_A008"
  64.      "ID_MyCom [加载交通标线A009] ^C^C^P_A009"
  65.      "ID_MyCom [布局删除图元A010] ^C^C^P_A010"
  66.      "ID_MyCom [修改随层颜色A011] ^C^C^P_A011"
  67.      "ID_MyCom [智能中心线A012] ^C^C^P_A012"
  68.      "ID_MyCom [<-删除重复图元A013] ^C^C^P_A013"
  69.      "[--]"
  70.      "ID_MyCom [->文字工具wzgj]"
  71.      "ID_MyCom [修改文字B001] ^C^C^P_B001"
  72.      "ID_MyCom [文字加注释线B002] ^C^C^P_B002"
  73.      "ID_MyCom [<-文字加前后缀B003] ^C^C^P_B003"     
  74.      "[--]"
  75.      "ID_MyCom [卸载树形菜单] ^C^C^P_qq"
  76.      "ID_MyCom [卸载工具条] ^C^C^P_ee"

  77.      ;; 工具条
  78.      "\n\n***TOOLBARS\n**TEMPTOOLBAR"

  79.      "ID_ZCT001   [_Toolbar("工具条01", _Floating, _Hide, 10, 340, 1)]"
  80.      "ID_ZCT011   [_Button("轴测图直线", "RCDATA_16_OSNEND", "RCDATA_16_OSNEND")]^C^Cline"
  81.      "ID_ZCT012   [_Button("轴测图标注", "RCDATA_16_DIMOBL", "RCDATA_16_DIMOBL")]^C^Cdim"
  82.      "ID_ZCT013   [_Button("轴测图文字", "RCDATA_16_TEXEDI", "RCDATA_16_TEXEDI")]^C^Ctext"
  83.      "ID_ZCT014   [_Button("轴测图更改", "RCDATA_16_DIMOVE", "RCDATA_16_DIMOVE")]^C^Cch"
  84.     )
  85.   (princ (strcat X "\n") FILE)  ; 将定义工具栏内容写入mnu文件
  86.       )
  87.       (close FILE)      ;_ 关闭mnu文件

  88.       ;;2、 加载菜单
  89.       (command "menuload" FILENAME)  
  90.   (princ)
  91. )
  92. ;;;=================================================================*
  93. ;;;功能:显示树形菜单、工具条                                       *
  94. (defun C:++ ()
  95. ;;0、判断是否需要加在
  96. (or  (menugroup "制图工具G")  ;_判断是否已加载菜单
  97.   ( make-MNUfile );_生成并加载菜单文件
  98. )
  99.   ;;1、显示树形菜单
  100.   ;;****zml84 修改于 2014-02-11
  101.   (and
  102.     (setq MENUGROUPS (vla-get-menugroups (vlax-get-acad-object))
  103.     MENUS       (vla-get-menus (vla-item MENUGROUPS 0))
  104.     MYMENU     (FUN-20140211-GETMYMENU "制图工具")
  105.     )
  106.     (= (vla-get-onmenubar MYMENU) :vlax-false)
  107.     (vla-insertinmenubar MYMENU 99)
  108.   )

  109.   ;;2、显示工具条
  110.   (command "TOOLBAR" "工具条01" "S")  ; 显示工具栏
  111. )


  112. ;;;=================================================================*
  113. (defun C:QQ ()
  114.   (alert "\n\n即将卸载树形菜单")
  115.   (and (setq MYMENU (FUN-20140211-GETMYMENU "制图工具"))
  116.        (= (vla-get-onmenubar MYMENU) :vlax-true)
  117.        (vla-removefrommenubar MYMENU) ;_取消菜单显示
  118.   )
  119.   (princ)
  120. )


  121. ;;;=================================================================*
  122. (defun C:EE ()
  123.   (alert "\n\n即将卸载工具条")

  124.   (command "TOOLBAR" "工具条01" "H")
  125.   (princ)
  126. )
  127. ;;;=================================================================*
  128. (c:rr)
  129. ;;;=================================================================*


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

本版积分规则

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

GMT+8, 2024-9-24 10:17 , Processed in 0.306297 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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