用GRREAD模拟带选取及输入功能的函数
本帖最后由 liu22737 于 2014-1-12 17:35 编辑学习黄大师的分图后想到此方法;
但无法右键激活
(defun tt()
(setq flag2 T)
(while flag2(prompt "\n选择对象:")
(setq gr(grread nil 4 2))
(cond((=(car gr)3)
(if(setq en (nentselp (cadr gr)))(setq flag2 nil)))
((=(car gr)2)(setq str(cadr gr))
(if(> str 32)(setq flag2 nil NewDName(strcat(chr str)(getstring(chr str))))))
((=(car gr)5)(setq flag2 T))
(t(setq flag2 nil))
);cond
);while flag2
);end
;;;;
此函数无法右键激活
把最后一句(t(setq flag2 nil))替换为(t(setq flag2 Tl))能激活,但无法右键退出
所谓右键激活,指的 是什么。。。 edata 发表于 2014-1-13 11:50 static/image/common/back.gif
所谓右键激活,指的 是什么。。。
可能我描述不准确
在命令行输入命令后,可以用空格键,回车键,右键来执行,
这里只能用空格键,回车键响应,右键直接跳过了,
比如黄大师的分图程式,如果把选择范围放前面,文件名放后面,用这个方法没问题,
要是把选取文件名放前面,选择范围放后面,就无法用右键来执行命令了,只能用空格键执行
我想知道有没有办法在程式内先把右键返回值变更掉,在程式尾部再还原它 不知道你有没有看过这个帖子。如果使用grread此贴必看。。
[风之影][源码]grread函数之大杀器
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=90839&fromuid=338795
;;;;;;;;;
如果需要选择后右键执行,那么先判断是否已经选择,选着成功则执行确认操作,否则执行取消退出grread循环。
(cond
((or(=(car gr) 11)(=(car gr) 25))
(if 判断选择或输入是否为空 (setq flag2 T)(setq flag2 nil))))
谢谢!
已找到办法了
页:
[1]