明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1860|回复: 4

[讨论] 用GRREAD模拟带选取及输入功能的函数

[复制链接]
发表于 2014-1-12 17:34:02 | 显示全部楼层 |阅读模式
本帖最后由 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))能激活,但无法右键退出

点评

http://bbs.mjtd.com/thread-108748-1-1.html 这里面左右击都可以退出  发表于 2014-1-13 11:55
发表于 2014-1-13 11:50:01 | 显示全部楼层
所谓右键激活,指的 是什么。。。
 楼主| 发表于 2014-1-13 13:40:55 | 显示全部楼层
edata 发表于 2014-1-13 11:50
所谓右键激活,指的 是什么。。。

可能我描述不准确

在命令行输入命令后,可以用空格键,回车键,右键来执行,
这里只能用空格键,回车键响应,右键直接跳过了,

比如黄大师的分图程式,如果把选择范围放前面,文件名放后面,用这个方法没问题,
要是把选取文件名放前面,选择范围放后面,就无法用右键来执行命令了,只能用空格键执行

我想知道有没有办法在程式内先把右键返回值变更掉,在程式尾部再还原它
发表于 2014-1-13 14:14:19 | 显示全部楼层
不知道你有没有看过这个帖子。如果使用grread此贴必看。。
[风之影][源码]grread函数之大杀器
http://bbs.mjtd.com/forum.php?mo ... &fromuid=338795
;;;;;;;;;
如果需要选择后右键执行,那么先判断是否已经选择,选着成功则执行确认操作,否则执行取消退出grread循环。
(cond
((or(=(car gr) 11)(=(car gr) 25))
(if 判断选择或输入是否为空 (setq flag2 T)(setq flag2 nil))))
 楼主| 发表于 2014-1-13 15:53:11 | 显示全部楼层
谢谢!
已找到办法了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-25 18:08 , Processed in 0.170176 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表