dcl1214 发表于 2013-9-20 08:59:48

鼠标右键添加子级菜单

(vlax-for item (vla-get-menugroups (vlax-get-acad-object))
(if (= (strcase (vl-filename-base (getvar "menuname")))
       (vla-get-name item)
      )
    (vlax-for menu (vla-get-menus item)
      (if (= :vlax-true (vla-get-shortcutmenu menu))
        (progn
          (setq        new-macro
               "$M=$(if,$(!=,$(getvar,cmdactive),0),$P0=*,line )"
               
          )
          (setq        new-macro1
               "$M=$(if,$(!=,$(getvar,cmdactive),0),$P0=*,copy )"
               
          )
          (vla-addmenuitem menu 0 "画线(&L)" new-macro)
          (vla-addmenuitem menu 1 "复制(&L)" new-macro1)
;;;          (setq exist-shortcut t)
        )
      )
    )
)
)


这个是给鼠标右键添加菜单的代码,不知道如何添加多级菜单
希望高手路过指点一下




snddd2000 发表于 2013-9-22 10:15:59

(vlax-for for-item
                   (vla-get-MenuGroups
                     (vlax-get-acad-object)
                   )
(if (equal "ACAD" (vla-get-name for-item))
    (progn
      (vlax-for        for-item1 (vla-get-menus for-item)
        (if (equal :vlax-true (vla-get-ShortcutMenu for-item1))
          (progn
          (vla-AddMenuItem (vla-AddSubMenu for-item1 0 "New1") 0 "new3" " ")
          )
        )
      )
    )
)
)

机械工程师 发表于 2014-9-5 17:29:36

求助,怎么删除添加的子菜单啊

我爱lisp 发表于 2014-9-26 14:50:01

建议上动画,不然不知道要干嘛

流动的清泉 发表于 2017-12-26 21:59:17

能最后给一个完整的帖子吗,一个一个找函数累死了,这个函数太生僻了,好难弄。

流动的清泉 发表于 2017-12-26 23:24:03

把明经和晓东的东西都找遍了,还是没有找到有用的信息。
页: [1]
查看完整版本: 鼠标右键添加子级菜单