明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 758|回复: 1

[经验] CAD所有文档同时启停自定义双击反应器的方法

  [复制链接]
发表于 2018-6-27 17:32 | 显示全部楼层 |阅读模式
本帖最后由 masterlong 于 2018-6-27 17:39 编辑

CAD各版本可能情况有所不同
以下讨论的方法在2012中已经实现

想使用自定义的鼠标双击反应器
第1步需要先屏蔽CAD默认的反应器
第2步是创建并激活自定义反应器
这个过程中
第1步arxunload影响的是整个CAD
第2步只对当前文档有效
于是这就带来一个尴尬而别扭的局面
当前文档激活自定义以后
已打开的其它文档既不能使用默认双击
又不能使用自定义
一直以来都在寻找解决办法而不可得

最近在用opendcl做云线修订程序时
突然想到了可能的解决办法
经实验有效

先看以下两段代码
(defun c:2012双击切换()
;;设置黑板变量
(setq *my双击* (null *my双击*))
(vl-propagate '*my双击*)
(c:2012双击设置)
(princ)
)
(defun c:2012双击设置()
(if *my双击*
  (progn
   (princ "【自定义双击激活~~~】")
   (jb_LoadDoublClickReactor)    ;;创建并激活自定义双击
  )
  (progn
   (princ "【自定义双击关闭~~~】")
   (if (vlr-added-p jbDoubleClickReactor)   ;;关闭自定义双击
    (vlr-remove jbDoubleClickReactor)
   )
  )
)
)
自定义双击的代码论坛上很多
大同小异这里就不给出具体的代码了

———解决办法———
随便做一个非模式对话框
dcl-Form-show之后将其隐藏
odcl非模式对话框中有一个OnDocActivated事件
事件代码最后加上(vla-sendcommand *doc* "2012双击设置 ")
这样在切换文档时它会自动执行“2012双击设置”这个命令
也就达到了所有文档共同启停自定义双击的目的


我自己是将F6功能键设为“2012双击切换”
非模式对话框的加载放到mnl文件中
现在用起来就毫无别扭的感觉了

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2019-8-27 21:50 | 显示全部楼层
没人回这贴是咋跑上来的???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-3-29 17:49 , Processed in 0.209617 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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