乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 99|回复: 4

[编程交流] 使用Visual Lisp添加菜单

[复制链接]

29

主题

88

帖子

59

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
145
发表于 2022-7-6 08:52:41 | 显示全部楼层 |阅读模式
全部的
 
我想知道使用visual lisp将菜单添加到菜单栏有多困难。我在许多用户的计算机上都有一个企业级CUI,但有几个用户在菜单栏上没有该CUI的菜单。我希望使用Visual Lisp添加菜单,而不是遍历CUI并编辑其工作空间。我知道这应该可以使用InsertInMenuBar和PopupMenu对象实现。我不知道如何进入具体的菜单。
 
有什么建议或解决方案吗?
 
谢谢
马特
回复

使用道具 举报

8

主题

159

帖子

153

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-6 09:21:26 | 显示全部楼层
也许是这个。只需编辑列表和扩展名(cui或cuix)
  1. (defun LOADMENU (/ ERR OLDCMD)
  2. (setq OLDCMD (getvar "cmdecho"))
  3. (setvar "cmdecho" 0)
  4. (foreach MenuName (list "Adservco_2010" "Kojacek_2010" "Tools_2010")  
  5.    (if (not (menugroup MenuName))
  6.      (if (findfile (strcat MenuName ".cuix"))
  7.        (progn
  8.          (command "_cuiload" MenuName)
  9.          (princ (strcat "\n>> Menu [" MenuName "] loaded."))
  10.        )
  11.        (if (not ERR)
  12.          (setq ERR (strcat "\n- " MenuName))
  13.          (setq ERR (strcat ERR "\n- " MenuName))
  14.        )
  15.      )
  16.    )
  17. )
  18. (if ERR
  19.    (alert (strcat "\nCan't find partial menu:" ERR))
  20. )
  21. (setvar "cmdecho" OLDCMD)
  22. (princ)
  23. )
  24. (LOADMENU)
  25. (princ)
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-6 09:30:20 | 显示全部楼层
这不包括错误处理,只包括基本内容,但它应该可以帮助您开始。
 
  1. ; Get AutoCAD
  2. (setq *acad* (vlax-get-acad-object))
  3. ; Get the loaded menugroups
  4. (setq *mgs* (vla-get-Menugroups *acad*))
  5. ; Get a particular menugroup
  6. (setq *menu* (vlax-invoke-method *mgs* "Item" 0))
  7. ; Get the menus in this menugroup
  8. (setq *pops* (vla-get-menus *menu*))
  9. ; Get a particular menu
  10. (setq *pop* (vlax-invoke-method *pops* "Item" 5))
  11. ; Insert it
  12. (vla-InsertInMenuBar *pop* 5)
回复

使用道具 举报

91

主题

428

帖子

326

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
474
发表于 2022-7-6 09:38:56 | 显示全部楼层
 
代码在前4行中运行良好,但运行这一行时出现问题:
Visual LISP返回此错误消息:
谁知道我的理解或rkmcswain的代码有什么问题? 
P、 在美国,我也尝试了5以外的数字,但没有成功。
回复

使用道具 举报

24

主题

1265

帖子

1028

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
362
发表于 2022-7-6 10:03:58 | 显示全部楼层
一次遍历一行代码,并验证每个变量。
听起来像是什么“砰砰”都没有第5项。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-7 06:03 , Processed in 0.589748 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表