无痕
发表于 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