citykunan 发表于 2004-3-30 11:25:00

加载下拉菜单

怎么样通过lisp将一个自己做的下拉菜单加载到屏幕上。


用menuload命令,菜单是加载了,但是不显示。不知用menucmd函数可以实现吗?


谢谢。

meflying 发表于 2004-3-30 11:39:00

加载后这样显示


citykunan 发表于 2004-3-30 13:39:00

飞版主,这个我知道,我是想不通过做这些步骤,直接在运行玩一个lisp程序后,就直接在屏幕上看到自己加载的下拉菜单,不知可不可以?

meflying 发表于 2004-3-30 14:06:00

既然你已知道menucmd这个函数,为什么不自己去试一下,要到这里问是否可以???



希望你自己琢磨出来后再看:


       




**** Hidden Message *****

Jbear2000 发表于 2004-3-30 14:41:00

为什么需要回复啊

citykunan 发表于 2004-3-30 14:49:00

飞版主我做了一个但是有点问题。


(defun c:test ()


(setvar "filedia" 0)<BR>        (if (= nil (MENUGROUP "menu1"))<BR>                               (progn<BR>                                                                               (command "menuload" "menu1.mns")<BR>                                                                               (menucmd "p10=menu1.POP1")                       


                               )<BR>)<BR>(setvar "filedia" 1)


)


是可以显示menu1这个菜单了,但一显示这个菜单,就把第10位window菜单给覆盖了,我直接用(menucmd "p13=menu1.POP1")确显示不了,不知如何?


谢谢。

meflying 发表于 2004-3-30 14:58:00

加载并显示菜单:


参数:


fname——菜单文件


index——显示的位置


(defun AddMenu (fname groupname popname index / APP MG MGS PMS)<BR>       (setq APP (vlax-get-acad-object))<BR>       (setq MGS (vla-get-menugroups APP))<BR>       (setq MG (vl-catch-all-apply 'vla-Item (list MGS groupname)))<BR>       (if (vl-catch-all-error-p MG)<BR>                       (setq MG (vla-load MGS fname))<BR>       )<BR>       (setq PMS (vla-get-menus MG))<BR>       (vla-insertmenuinmenubar PMS popname index)<BR>)

citykunan 发表于 2004-3-30 16:06:00

谢谢飞版主,问题解决了。

mccad 发表于 2004-3-30 19:11:00

给个例子给你:;; ----------- 将明经增效菜单放到下拉菜单的倒数第三位的函数 ------------
;;   该函数将明经增效菜单放到AutoCAD下拉菜单的倒数第三位。
;; ----------------------------------------------------------------
(defun mccad-init-placemenu (/ CNT)
   (setq CNT 1)
   (while (< CNT 24)
       (if (menucmd (strcat "P" (itoa CNT) ".1=?"))
         (setq CNT (1+ CNT))
         (progn
               (if (> CNT 2)
                   (setq CNT (- CNT 2))
                   (setq CNT 2)
               )
               (menucmd (strcat "p" (itoa CNT) "=+MCCAD.pop1"))
               (setq CNT 25)
         )
       )
   )
)
(mccad-init-placemenu)

m218 发表于 2004-4-3 13:06:00

学习
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 加载下拉菜单