deano33 发表于 2022-7-6 11:44:15

下拉菜单检查

大家好
 
创建了一个下拉菜单,其中包含一个打开/关闭自定义工具栏的按钮,并希望在工具栏已加载时显示检查。无论如何,我已经走了这么远。
 
ID\u AGD工具栏[$(if,$(and,$(getvar,…?…),1),!.)切换工具栏]^C^C-工具栏;AGD;;
 
我知道你可以右键点击任何工具栏并选择合适的工具栏,但如果可能的话,这对我来说会很有用。
 
有什么想法吗?

Lee Mac 发表于 2022-7-6 12:02:41

我可能弄错了,但它是否会在注册表中显示在以下位置:
 

HKEY_CURRENT_USER\Software\AutoDesk\AutoCAD\<Release>\<ProductKey>\Profiles\<CurrentProfile>\Toolbars

deano33 发表于 2022-7-6 12:17:41

不确定?
 
真的有点过头了。

Lee Mac 发表于 2022-7-6 12:22:23

实际上,这是一种更好的方法:
 

;; tb =Toolbar Name
(defun ToolbarOn (tb / Men obj vis)
(vl-load-com) ;; Lee Mac~07.02.10

(vlax-for Men (vla-get-MenuGroups
               (vlax-get-acad-object))
   
   (if (not (vl-catch-all-error-p
            (setq obj (vl-catch-all-apply
                        (function vla-item)
                            (list (vla-get-Toolbars Men) tb)))))

   (setq vis (vla-get-Visible Obj))))

(eq :vlax-true vis))

wizman 发表于 2022-7-6 12:43:36

您可以尝试:
 
我将李的Lisp程序编辑为:

;; tb =Toolbar Name
(defun ToolbarOn (tb / Men obj vis)
(vl-load-com) ;; Lee Mac~07.02.10

(vlax-for Men (vla-get-MenuGroups
               (vlax-get-acad-object))
   
   (if (not (vl-catch-all-error-p
            (setq obj (vl-catch-all-apply
                        (function vla-item)
                            (list (vla-get-Toolbars Men) tb)))))

(setq vis (vla-get-Visible Obj)))

(if (eq :vlax-true vis) (setvar "USERR1" 1)(setvar "USERR1" 0))))
(toolbaron "AGD")
 
然后在启动套件中应用lisp,这样它将在图形的每个打开处运行。
 
 
然后在工具栏宏中放入以下内容:
 
 
ID\u AGD工具栏[$(if,$(and,$(getvar,USERR1),1),!.)切换工具栏]^C^C-TOOLBAR;AGD_setvar;用户1$M=$(-1,$(getvar,USERR1))
 
 
我没有对此进行测试,但希望你能理解。

Lee Mac 发表于 2022-7-6 12:53:05

好主意Wiz
 
我唯一担心的是他使用LT。。。
页: [1]
查看完整版本: 下拉菜单检查