找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3398|回复: 11

[文本] (XD::Entity:TextOnlineEdit在位编辑,支持鼠标下的任意文字,包括尺寸、块(任意...)

[复制链接]

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-11-25 23:32:23 | 显示全部楼层 |阅读模式
函数发布
函数名称: XD::Entity:TextOnlineEdit
调用格式: (XD::Entity:TextOnlineEdit ent parent pt)
参数说明: ent ---- 子实体(NENTSEL第一个图元)
parent-- 父实体(NENTSEL最后一个图元(如果有))
pt -- 鼠标点取位置(WCS)
返回值: T
函数简介: 在位编辑,支持鼠标下的任意文字,包括尺寸、块(任意嵌套块)内文字、属性、TEXT
函数来源: 原创
函数作者: XDSoft
适用版本: XDRX API 
最后更新时间: 2013-11-25
备注: -
演示图片: -

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

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

×
233547use0m4ce64e43065.gif



  1. ;|
  2. 在位编辑,支持鼠标下的任意文字,包括尺寸、块(任意嵌套块)内文字、属性、TEXT
  3. 参数:
  4.    ent ---- 子实体(NENTSEL第一个图元)
  5.    parent-- 父实体(NENTSEL最后一个图元(如果有))
  6.    pt    -- 鼠标点取位置(WCS)
  7. 返回值:
  8.   T
  9. |;
  10. (defun XD::Entity:TextOnlineEdit (ent parent pt / class classname flags len
  11.                                       mpt newtxt newvalue newwid repeatcount
  12.                                       txt wid x y
  13.                                  )
  14.   (setq class (xdrx_getpropertyvalue ent "IsA"))
  15.   (cond
  16.     ((= "AcDbText" class)
  17.       (setq txt (xdrx_getpropertyvalue ent "TextString"))
  18.     )
  19.     ((= "AcDbMText" class)
  20.       (setq txt (xdrx_getpropertyvalue ent "Contents"))
  21.     )
  22.     ((= "AcDbAttribute" class)
  23.       (setq txt (xdrx_getpropertyvalue ent "TextString"))
  24.     )
  25.   )
  26.   (setq owner parent
  27.         ent1 ent
  28.   )
  29.   (defun c:XD_ONLINE_EDIT_FORM_OnInitialize (/)
  30.     (setq len (strlen txt))
  31.     (c:XD_ONLINE_EDIT_TBOX_OnEditChanged txt)
  32.     (dcl_Control_SetText XD_ONLINE_EDIT_TBOX txt)
  33.   )
  34.   (defun c:XD_ONLINE_EDIT_FORM_OnMouseEntered (/)
  35.     (dcl_Control_SetFocus XD_ONLINE_EDIT_FORM)
  36.   )
  37.   (defun c:XD_ONLINE_EDIT_TBOX_OnMouseMove (Flags X Y /)
  38.     (dcl_Control_SetFocus XD_ONLINE_EDIT_TBOX)
  39.   )
  40.   (defun c:XD_ONLINE_EDIT_FORM_OnCancel (/)
  41.     (dcl_form_close XD_ONLINE_EDIT_TBOX)
  42.   )
  43.   (defun c:XD_ONLINE_EDIT_TBOX_OnEditChanged (NewValue /)
  44.     (setq len (strlen NewValue)
  45.           wid (dcl_Control_GetWidth XD_ONLINE_EDIT_TBOX)
  46.     )
  47.     (if (> len 6)
  48.       (progn
  49.         (setq newwid (+ 42 (* 6 (- len 6))))
  50.         (dcl_Control_SetWidth XD_ONLINE_EDIT_TBOX newwid)
  51.         (dcl_Control_SetWidth XD_ONLINE_EDIT_FORM newwid)
  52.       )
  53.       (progn
  54.         (dcl_Control_SetWidth XD_ONLINE_EDIT_TBOX 42)
  55.         (dcl_Control_SetWidth XD_ONLINE_EDIT_FORM 42)
  56.       )
  57.     )
  58.     (princ)
  59.   )
  60.   (defun c:XD_ONLINE_EDIT_TBOX_OnKeyDown (Character RepeatCount Flags /)
  61.     (princ)
  62.   )
  63.   (defun c:XD_ONLINE_EDIT_TBOX_OnUpdate (NewValue /)
  64.     (princ)
  65.   )
  66.   (defun c:XD_ONLINE_EDIT_TBOX_OnReturnPressed (/)
  67.     (setq newtxt (dcl_Control_GetText XD_ONLINE_EDIT_TBOX))
  68.     (dcl_sendstring "(_cal)\n")
  69.     (dcl_form_close XD_ONLINE_EDIT_TBOX)
  70.     (princ)
  71.   )
  72.   (defun _cal ()
  73.     (setq classname (car (xdrx_object_classname owner)))
  74.     (cond
  75.       ((= "DIMENSION" classname)
  76.         (xdrx_setpropertyvalue owner "DimText" newtxt)
  77.       )
  78.       ((or
  79.          (= "ATTRIB" classname)
  80.          (= "INSERT" classname)
  81.          (= "TEXT" classname)
  82.        )
  83.         (xdrx_setpropertyvalue ent1 "TextString" newtxt)
  84.       )
  85.     )
  86.     (xdrx_object_regen owner)
  87.     (princ)
  88.   )
  89.   (dcl_Project_Load (findfile "XDOB_ONLINE_EDIT.odcl") )
  90.   (setq mpt (xdrx_document_GetMousePixel pt))
  91.   (dcl_Form_Show XD_ONLINE_EDIT_FORM (car (last mpt)) (cadr (last mpt)))
  92.   t
  93. )



需要的ODCL文件见附件

请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:XDOB_ONLINE_EDIT.odcl 
下载次数:608  文件大小:772 Bytes 
下载权限: 不限 以上  [免费赚D豆]


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

使用道具 举报

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 466个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 73个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 73个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 73个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 415个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-5-12 16:17:26 | 显示全部楼层

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

使用道具 举报

已领礼包: 415个

财富等级: 日进斗金

发表于 2017-5-13 08:37:01 | 显示全部楼层

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

使用道具 举报

已领礼包: 199个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 01:48 , Processed in 0.380875 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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