MarcoW 发表于 2022-7-6 11:36:45

加载菜单时出现问题

这是我在www.Afralisp上找到的lisp代码。净值:
 
 

;set the flag
(setq flag1 T)
;check if the "TESTMENU" menu is loaded
(setq loaded (menugroup "TESTMENU"))
;if it's not
(if (= loaded nil)
(progn
       ;find the menu file
       (setq temp (findfile "TESTMENU.MNU"))
          ;if it's found
          (if temp
    (progn
   (setvar "FILEDIA" 0)
               ;load the "TESTMENU" menu
   (command "menuload" "TESTMENU")
   (setvar "FILEDIA" 1)
               ;load the pulldown menu
   (menucmd "P11=+TESTMENU.POP1")
               ;Inform the user
          (prompt "\nLoading TESTMENU Custom Menu....\n")
);progn
(progn   
                ;if it's NOT found, inform the user
                (alert "Cannot Locate TESTMENU Menu.")

                ;then clear the flag
(setq flag1 nil)
);progn
   );if
   );progn
);if
               ;if the menu is loaded
(if flag1
               ;inform the user
         (prompt "\nTESTMENU Custom Menu Loaded....")
);if
(princ)
);defun
(princ)

 
我加载到autocad 2010(试用版)的干净安装中,它工作了。。。如果不是因为它卸载了AutoCAD自己的所有菜单以及功能区。
 
谁能解释一下为什么会这样?
我想红色部分是原因,但我无法解释。
 
谢谢,准备好了!

MarcoW 发表于 2022-7-6 11:53:29

我一直在尝试。。。
 

(menucmd "P16=+TESTMENU.POP1")

似乎是THE(或只是巧合)的解决方案。
 
似乎它与菜单顺序有关。。。
 
无论如何,对我来说很有用。

alanjt 发表于 2022-7-6 12:11:52

只需将其设置为某个高数字,例如30。

MarcoW 发表于 2022-7-6 12:33:01

我想我在哪里读到过,最多16个?不过我可以试试。
谢谢你的回复。

alanjt 发表于 2022-7-6 12:40:32

 
它将存储的数字有一个最大值。
页: [1]
查看完整版本: 加载菜单时出现问题