无痕 发表于 2004-3-13 23:06:00

顶一下

mikewolf2k 发表于 2004-3-14 14:51:00

太好了,先送花,以后再用!

tukuitk 发表于 2004-3-15 09:11:00

请问秋枫兄:为何有如下问题呢?


       

subtlation 发表于 2004-3-15 10:53:00

求助秋枫大侠


我按上面的方法做了一次。有一点问题。


前面的都很好。用cad打开时发现菜单文件已经加载,但是在屏幕的菜单栏上并没有显示出来。附件中是我的菜单。帮忙看一些是哪里出错了。谢谢。


       

xuejunnpu 发表于 2004-3-15 20:58:00

ok

tukuitk 发表于 2004-3-16 12:44:00

此法仅供参考!适合自己的才是最好的,呵呵……,殊途同归。

秋枫 发表于 2004-3-17 22:55:00

subtlation发表于2004-3-15 10:53:00static/image/common/back.gif求助秋枫大侠我按上面的方法做了一次。有一点问题。前面的都很好。用cad打开时发现菜单文件已经加载,但是在屏幕的菜单栏上并没有显示出来。附件中是我的...你可能没有详细查看我给出的示例文件的内容 ctt.mnl:;; load applications and place menu
;; by qiufeng(load "cttsetup.lsp")
(princ)
其实主要加载菜单的代码都在这个cttsetup.lsp中,是用autolisp实现加载菜单的。你可以仔细看一下这个cttsetup.lsp,然后针对你的菜单文件进行修改。这个Autolisp程序对你来说应该是小CASE啦。你也可以把这段LISP的内容直接写在mnl中。cttsetup.lsp的内容:(我再加点说明吧,反正你要针对你自己的文件修改一下);;;以下代码为秋枫添加,for setup;; 加载主程序----如有必要的话,针对不同的AutoCAD版本加载不同的文件。
(if (< (atof (getvar "acadver")) 15.0)
   (arxload "ctt.arx")
   (load "ctt.vlx")
);; The following code "placemenu" from LUCAS(龙龙仔);; 这些代码主要来自于本论坛的龙龙仔啦~~你先谢谢他。hehe
(defun ctt_placemenu (/ n)
   (if (menugroup "CTT"); 如果存在菜单组CTT
       (progn
         (setq n 1)
         (while (< n 24)
(if (menucmd (strcat "P" (itoa n) ".1=?"))
   (setq n (+ n 1))    ; 不停地往后找,找到最后一条菜单(主要就是看看有几条啦)
   (progn    ;找到了
         (if(> n 3)
             (setq n (- n 2))    ; 插在倒数第三条的位置上。(Help与Window之前啦)
             (setq n 3)   
         )      ;if
         (menucmd (strcat "p" (itoa n) "=+CTT.pop1")) ;你如果有多个菜单组都在这里加载。当然要相应修改一下上下的数字
         (setq n 25)
   )      ;progn
)      ;if
         )          ;while
       )          ;progn
   )          ;if
   (princ)
);; 加载下拉菜单
(ctt_placemenu)
另给一个晓东工具箱菜单插入的代码,这个是插两条菜单的例子,不多说了,你看得懂:(defun C:AboutXDSoftMenu ()
   (xdrx_msgbox
       "\n欢迎使用面向应用的XDRX_API
         \n\nXDSoft安装程序由秋枫和Quelea制作 ;-)
         \nEachy网友完成菜单和部分程序制作
         \n更新请访问晓东CAD空间:http://www.xdcad.net"
       "*晓东工具箱 Public Beta 0.27* 1/1/2003" 0 0 1)
   (princ)
)
;; The following code "placemenu" written by LUCAS
(defun placemenu (/ n)
   (if (menugroup "XDSOFT")
       (progn
         (setq n 1)
         (while (< n 24)
(if (menucmd (strcat "P" (itoa n) ".1=?"))
   (setq n (+ n 1))
   (progn
         (if(> n 3)
             (setq n (- n 2))
             (setq n 3)
         )      ;if
         (menucmd (strcat "p" (itoa n) "=+XDSOFT.pop2"))
         (menucmd (strcat "p" (itoa n) "=+XDSOFT.pop1"))
         (setq n 25)
   )      ;progn
)      ;if
         )          ;while
       )          ;progn
   )          ;if
   (princ)
)          ;defun placemenu
(setvar "cmdecho" 0)
(placemenu)

mccad 发表于 2004-3-18 07:53:00

建议这段代码直接写在ctt.mnl文件中

subtlation 发表于 2004-3-18 08:29:00

谢谢秋枫版主和明总。

秋枫 发表于 2004-3-18 19:37:00

我不是版主呢~~
页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: 通用AutoCAD二次开发安装程序[更新,支持2005]