明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1771|回复: 8

[求助]关于动态拖拽右键退出问题?(献花至谢!)

  [复制链接]
发表于 2009-4-11 04:39 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-4-11 9:40:55 编辑

以前下载了一个本论坛一位高手的原程序如下:

在学习这个程序编制方法的过程中遇到一个问题不知如何处理,就是怎样控制在击右键时能正常退出来,并取消文字?

麻烦大家指点一下!谢谢!

;例2 拖拽一个文字。在文字左对齐的前提下,更新文字的插入点坐标可以使文字移动。 
(defun c:cs(/ ENTD MOUSE PT) 
(command "text" (cadr (setq mouse (grread T 5 0))) 300 0 "拖拽测试") ;在当前鼠标位置生;成一个文字,这里grread函数返回的是(5 鼠标坐标值),因此我们用cadr函数把鼠标坐标值提取出;来做为文字插入点坐标 
(command "zoom" "c" (cadr mouse) "2000") 
(setq entd (entget (entlast))) ;取得文字的图元资料 
(while (/= (car (setq mouse (grread mouse 5 0))) 3) ;点击左键退出循环,即退出拖拽状态 
(setq pt (cadr mouse)) ;取得鼠标当前位置坐标 
(setq entd (subst (cons 10 pt) (assoc 10 entd) entd)) ;替换文字插入点坐标 
(entmod entd) ;更新文字数据 

(princ) ;静默退出 

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2009-4-11 11:29 | 显示全部楼层

(defun C:TT (/ TAG A)
(setq TAG T)
(while TAG
    (princ "\n右键退出。")
    (setq A (grread nil 12 2))
    (if (member A '((11 0) (2 32) (2 13)))
        ;;(11 0) 右键
        ;;(2 32) 空格
        ;;(2 13) 回车
      (setq TAG nil)
    )
)
A
)

发表于 2009-4-11 11:46 | 显示全部楼层
  1. (defun c:cs()  
  2. (command "text" (cadr (setq mouse (grread t 5 0))) 300 0 "拖拽测试") ;在当前鼠标位置生;成一个文字,这里grread函数返回的是(5 鼠标坐标值),因此我们用cadr函数把鼠标坐标值提取出;来做为文字插入点坐标  
  3. (command "zoom" "c" (cadr mouse) "2000")  
  4. (setq entd (entget (entlast))) ;取得文字的图元资料
  5. (setq mouse (grread mouse 7 0))
  6. (while (= (car mouse) 5)  ;点击左键退出循环,即退出拖拽状态
  7. (setq mouse (grread mouse 7 0))
  8. (setq pt (cadr mouse)) ;取得鼠标当前位置坐标
  9. (if (= (car mouse) 25)
  10.   (progn
  11.     (princ "\n右键退出")
  12.     (entdel (cdr(assoc -1 entd))))
  13.   (progn
  14.     (setq entd (subst (cons 10 pt) (assoc 10 entd) entd)) ;替换文字插入点坐标  
  15.     (entmod entd);更新文字数据   
  16.   )
  17. ))   
  18. (princ) ;静默退出  
  19. )
发表于 2009-4-11 12:19 | 显示全部楼层
caoyin发表于2009-4-11 11:29:00    (if (member A '((11 0) (2 32) (2 13)))        ;;(11 0) 右键        ;;(2 32) 空格 &nbs

为什么我的右键是这种形式??(25 XXX)

它的返回值跟什么东西有关??

发表于 2009-4-11 12:29 | 显示全部楼层
Saging发表于2009-4-11 12:19:00为什么我的右键是这种形式??(25 XXX)它的返回值跟什么东西有关??

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=72328

这个贴里面有12和25的原因~~~
 楼主| 发表于 2009-4-11 12:48 | 显示全部楼层

感谢caoyin和Saging的帮助,再次表示谢意……!

发表于 2009-4-11 12:53 | 显示全部楼层
谢谢 carrot1983
发表于 2009-4-11 13:23 | 显示全部楼层
返回值跟 grread 参数有关
 楼主| 发表于 2009-4-11 15:51 | 显示全部楼层
本帖最后由 作者 于 2009-4-12 14:48:43 编辑

 

基本上弄会了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-4 12:32 , Processed in 0.157665 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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