明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2962|回复: 10

[讨论] [求助]如何创建右键动态快捷菜单?

[复制链接]
发表于 2010-10-29 20:09 | 显示全部楼层 |阅读模式

请教各位朋友:

 

不知用VLISP如何创建右键动态快捷菜单,在网上找了一个,但每次运行较慢,不知有没有更快捷的方法?

 

以下是网上下载的:

;(setq str (gps->popupmenu '("Line" "" "Circle" "Arc")))
(DEFUN gps->popupmenu (MENULST / acadobj currmenugroup flag fn menus n newmenu newmenuitem openmacro str thisdoc )
(SETVAR "cmdecho" 0)
(SETQ FLAG nil)
(SETQ FN (OPEN "VbaMenu.mns" "w"))
(CLOSE FN)
(SETQ ACADOBJ (vlax-get-acad-object))
(SETQ THISDOC (vla-get-ActiveDocument ACADOBJ))
(SETQ MENUS (vla-get-MenuGroups ACADOBJ))
; (VLAX-FOR N MENUS (IF (= (vla-get-Name N) "VbaMenu")
; (SETQ FLAG T)
; ) (TERPRI)
; )
; (IF FLAG
; (UnLoadMenuGroup "VbaMenu")
; )
(UnLoadMenuGroup "VbaMenu")
(vla-Load MENUS "VbaMenu.mns")
(SETQ CURRMENUGROUP (vla-Item MENUS "VbaMenu"))
(IF (<= (vla-get-Count (vla-get-Menus CURRMENUGROUP)) 0)
(PROGN
(SETQ NEWMENU (vla-Add (vla-get-Menus CURRMENUGROUP) "V&BA Menu"))
(FOREACH N MENULST
(IF (= (TYPE N) (QUOTE STR))
(COND
((/= N "")
(SETQ OPENMACRO (STRCAT (CHR 3) (CHR 3) "(setq xxx " N ")"
(CHR 32)
)
NEWMENUITEM (vla-AddMenuItem NEWMENU (1+
(vla-get-Count NEWMENU)
) N OPENMACRO
)
)
(vla-put-HelpString NEWMENUITEM N)
)
((= N "")
(vla-AddSeparator NEWMENU (1+ (vla-get-Count NEWMENU)))
)
)
)
)
(vla-Save CURRMENUGROUP acMenuFileCompiled)
)
(PRINC "\nThe menu is already loaded")
)
(PRIN1)
(MENUCMD "p0=VbaMenu.POP2")
(MENUCMD "p0=*")
)
(defun UnLoadMenuGroup (iValue / rValue)
(if (menugroup iValue)
(progn
(if (not (vl-catch-all-error-p
(setq rValue
(vl-catch-all-apply
'vla-unload
(list
(vla-item (vla-get-menugroups(vlax-get-acad-object)) iValue)
)
)
)
)
)
(setq rValue T)
)
rValue
)
)


)


 (gps->popupmenu '("Line" "" "Circle" "Arc"))
 

发表于 2010-11-1 13:47 | 显示全部楼层

这个有兴趣,关注中。。。

 楼主| 发表于 2011-6-5 12:51 | 显示全部楼层
高手都哪出了啊,帖子都沉了那么久
发表于 2011-6-19 21:22 | 显示全部楼层
关注,留下脚印
发表于 2011-7-25 15:50 | 显示全部楼层
笑傲江湖,顶一个!
发表于 2011-7-25 16:53 | 显示全部楼层
期待实例。帮顶。
发表于 2011-7-26 11:27 | 显示全部楼层
路过 不错 顶下
发表于 2011-10-2 11:35 | 显示全部楼层
路过 不错 顶下
发表于 2013-9-6 13:56 | 显示全部楼层
能改进一下好了
发表于 2017-12-26 22:11 | 显示全部楼层
东西都不全吧,楼上的都是怎么看的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 03:42 , Processed in 0.160459 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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