找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2616|回复: 14

[求助] 求一个双击单行文本直接跳出对话框的lisp程序

[复制链接]
发表于 2013-6-25 21:35:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
求一个双击单行文本直接跳出对话框的lisp程序
最好能显示字高之类的属性,没有也可以
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 208个

财富等级: 日进斗金

发表于 2013-6-25 21:48:25 | 显示全部楼层
  1. ;;----------------------=={ Edit Box }==----------------------;;
  2. ;;                                                            ;;
  3. ;;  Displays a DCL Edit Box to obtain a string from the user  ;;
  4. ;;------------------------------------------------------------;;
  5. ;;  Author: Lee Mac, Copyright © 2011 - www.lee-mac.com       ;;
  6. ;;------------------------------------------------------------;;
  7. ;;  Arguments:                                                ;;
  8. ;;  string - initial value to display ("" for none)           ;;
  9. ;;------------------------------------------------------------;;
  10. ;;  Returns: Edit box contents if user pressed OK, else nil   ;;
  11. ;;------------------------------------------------------------;;

  12. (defun LM:EditBox ( string / id )
  13.   (and
  14.     (< 0 (setq id (load_dialog "ACAD")))
  15.     (new_dialog "acad_txtedit" id)
  16.     (set_tile    "text_edit"  string)
  17.     (action_tile "text_edit" "(setq string $value)")
  18.     (if (zerop (start_dialog)) (setq string nil))
  19.   )
  20.   (if (< 0 id) (unload_dialog id))
  21.   string
  22. )

(LM:EditBox "Lee Mac")

点评

LM:EditBox 去哪里找呢  详情 回复 发表于 2013-6-25 23:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-25 22:58:45 | 显示全部楼层
这些自己还要写也太累了吧
property.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2013-6-25 23:03:57 | 显示全部楼层

点评

满好的 就是太复杂了 也不能双击触发  详情 回复 发表于 2013-6-25 23:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-25 23:54:39 | 显示全部楼层
yxpxa 发表于 2013-6-25 23:03
http://bbs.xdcad.net/forum.php?mod=viewthread&tid=668867&page=1&extra=#pid3465158

满好的 就是太复杂了  也不能双击触发
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-25 23:55:22 | 显示全部楼层
本帖最后由 yangist 于 2013-6-25 23:56 编辑
xshrimp 发表于 2013-6-25 21:48
(LM:EditBox "Lee Mac")

LM:EditBox 详细解释下么  怎么用呢

点评

(LM:EditBox (Vlax-Get (Vlax-Ename->Vla-Object (car (entsel))) 'TextString ))  详情 回复 发表于 2013-6-26 00:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-26 00:09:17 | 显示全部楼层
yangist 发表于 2013-6-25 23:55
LM:EditBox 详细解释下么  怎么用呢

(LM:EditBox (Vlax-Get (Vlax-Ename->Vla-Object (car (entsel))) 'TextString ))

点评

朋友 能直接写个能用的程序么 我是新手 这些个看不懂 也用不了啊  详情 回复 发表于 2013-6-26 08:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-26 08:37:38 | 显示全部楼层
QiaoCheng 发表于 2013-6-26 00:09
(LM:EditBox (Vlax-Get (Vlax-Ename->Vla-Object (car (entsel))) 'TextString ))

朋友 能直接写个能用的程序么  我是新手 这些个看不懂  也用不了啊

点评

(defun c:qe ( / en st ) (if (and (setq en (car (nentsel))) (wcmatch (cdr (assoc 0 (setq en (entget en)))) "TEXT,ATTRIB") (setq st (LM:EditBox (cdr (assoc 1 en))))  详情 回复 发表于 2013-6-26 08:54
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-26 08:54:06 | 显示全部楼层
yangist 发表于 2013-6-26 08:37
朋友 能直接写个能用的程序么  我是新手 这些个看不懂  也用不了啊

[pcode=lisp,true]

(defun c:qe ( / en st )
  (if
    (and
      (setq en (car (nentsel)))
      (wcmatch (cdr (assoc 0 (setq en (entget en)))) "TEXT,ATTRIB")
      (setq st (LM:EditBox (cdr (assoc 1 en))))
    )
    (entupd (cdr (assoc -1 (entmod (list (assoc -1 en) (cons 1 st))))))
  )
  (princ)
)
(defun LM:EditBox ( string / id )
  (and
    (< 0 (setq id (load_dialog "ACAD")))
    (new_dialog "acad_txtedit" id)
    (set_tile    "text_edit"  string)
    (action_tile "text_edit" "(setq string $value)")
    (if (zerop (start_dialog)) (setq string nil))
  )
  (if (< 0 id) (unload_dialog id))
  string
)

[/pcode]

点评

精彩!精华! (entupd (cdr (assoc -1 (entmod (list (assoc -1 en) (cons 1 st)))))) 我又学到了一招!非常感谢!  详情 回复 发表于 2013-6-26 14:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 5600个

财富等级: 富甲天下

发表于 2013-6-26 14:17:31 | 显示全部楼层
QiaoCheng 发表于 2013-6-26 08:54
(defun c:qe ( / en st )
  (if
    (and

精彩!精华!
(entupd (cdr (assoc -1 (entmod (list (assoc -1 en) (cons 1 st))))))
我又学到了一招!非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-6-26 14:47:24 | 显示全部楼层
从标题上看,楼主要的是双击文本的反应器
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-26 16:07:57 | 显示全部楼层
单击后的快捷属性面板够用了

点评

赞同,但双击文本变色时还是有用的,G版在明经上回答这一问题时,我看到过  详情 回复 发表于 2013-6-26 16:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2013-6-26 16:30:47 | 显示全部楼层
本帖最后由 /db_自贡黄明儒_ 于 2013-6-26 16:34 编辑
Free-Lancer 发表于 2013-6-26 16:07
单击后的快捷属性面板够用了


赞同,但双击文本变色时还是有用的,G版在明经上回答这一问题时,我看到过
下面是我改编过的
  1. ;;;;;;;;;;;;;;;;;;;双击空白处执行HH命令
  2. ;;; 加载双击反应器
  3. (if (not *dblclkReactor*)
  4.   ;;0 = 打开反应器
  5.   (setq  *dblclkReactor*
  6.    (VLR-Mouse-Reactor
  7.      nil
  8.      '((:VLR-beginDoubleClick . dblclkedit))
  9.    )
  10.   )
  11. )

  12. ;;;;;;;;;
  13. (defun dblclkedit (reactorObject point)

  14.   ;; 自定义双击反应器,空启动HH;文本则变色
  15.   (defun dblclk-edit (dblclk_point / owner dblclk_etype p B DOC ENT color1)
  16.     (setq owner (nentselp (setq p (trans (car dblclk_point) 0 1))))
  17.     ;;指定点来选择对象
  18.     (if  (and (=  (vla-get-ActiveSpace
  19.       (vla-get-activedocument (vlax-get-acad-object))
  20.     )
  21.     1
  22.        )
  23.        (= 0 (getvar 'cmdactive))
  24.   )
  25.       (if (= owner nil)
  26.   (vla-sendcommand
  27.     (vla-get-activedocument (vlax-get-acad-object))
  28.     (strcat (rtos (car p) 2 3) "," (rtos (cadr p) 2 3) " HH ")
  29.   )
  30.   (progn
  31.     (if (> (length owner) 2)
  32.       (setq ent (last (last owner)))
  33.       (setq ent (car owner))
  34.     )
  35.     (setq  b   (cdr (assoc 0 (entget ent)))
  36.     doc (vlax-get (vlax-get-acad-object) "activedocument")
  37.     )
  38.     (if (wcmatch b "*TEXT,ATTDEF")
  39.       (progn (setq ent (vlax-ename->vla-object ent)) (if (> (setq color1 (vla-get-Color ent)) 5)(setq color1 0))(vla-put-Color ent (1+ color1)))
  40.     )
  41.   )
  42.       )
  43.     )
  44.   )
  45.   
  46.   (if dblclk-edit
  47.     (dblclk-edit point)
  48.   )
  49. )
  50. ;;;;;;;;;;;;;;;;;;;双击空白处执行HH命令;文本则变色



评分

参与人数 1D豆 +5 收起 理由
xshrimp + 5 技术引导讨论和指点奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-7-5 07:25:47 | 显示全部楼层
学习了,呵呵!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 403个

财富等级: 日进斗金

发表于 2013-7-24 06:21:11 | 显示全部楼层
双击后文本颜色是会变色,但此时编缉的其它文本颜色不会变
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-25 10:37 , Processed in 0.621130 second(s), 65 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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