明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1815|回复: 6

版主如可用ARX实现如此功能,当立首功

[复制链接]
发表于 2003-9-11 13:52 | 显示全部楼层 |阅读模式
请问版主:
CAD中的ZOOM功能,不用鼠标点击命令,而用左手按下键盘中的某键,图形会以鼠标十字交点为中心放大(缩小)N倍,N可以自己设定。(放大、缩小为两键)。
      ARX应该可以
                    但一直无人编出来,现在CAD中的ZOOM太麻烦。大大影响速度。
 楼主| 发表于 2003-9-11 13:54 | 显示全部楼层
版主注意以上的ARX要为R14平台,
发表于 2003-9-12 09:56 | 显示全部楼层

是的,ARX能做到,但远比你想像的复杂

首先,你要的是R14平台的应用程序,我的机器上既没有R14的安装程序,也没有R14的ARX开发包,不便开发。
第二,按你的要求,应用程序接口上还有点问题。缩放倍数应该如何指定?若要与用户交互来确定缩放倍数,可能反而不如ZOOM命令方便。另外,作为用户,你能确知缩放倍数吗?缩放中心为鼠标所在位置,也就是说,要使用时,先要将鼠标移动到缩放中心位置,再激活应用程序,这样方便吗?
最直接,也是最高效的方法是截获windows键盘事件(AcEd反应器没提供合适的事件处理接口,只能截获windows事件),也就是说要重载windows底层事件处理函数(这一点对于EXE应用程序来说并不困难,但ARX程序是windows DLL程序,虽然不至于做不到,但更麻烦)。这样编程需要对windows程序设计、MFC、ARX底层设计很熟悉,这恐怕不是LEE力所能及的。
于是,我想到一些相对容易编程变通方法。比如说,分别写两个ARX应用程序用于缩小和放大(如果程序接口能确定,这不难),并使之在ACAD启动时加载,再利用ACAD定制的方法为这两个应用程序指定两个快捷键。这样编程难度只是如何获取命令激活时鼠标位置的问题而已。你认为这样合适吗?
最后,“当立首功”四字愧不敢当,以后休提。
 楼主| 发表于 2003-9-12 12:13 | 显示全部楼层
好,很好,感谢你的分析。
R14你没有吗?
据说,要捕捉鼠标,要作一个钩,这钩如何作?
如你作出来了,别忘了发一个给我,
ffgzy789.feng@vip.sina.com
     先谢谢你!
 楼主| 发表于 2003-9-12 12:20 | 显示全部楼层
版主lee:
你的邮箱可以告吗,这样联系方便。
发表于 2003-9-16 15:51 | 显示全部楼层
在Arx版里找一下"编程序日记", 关于计时器的,里边就有ARX消息循环环和钩子的例子.
发表于 2004-7-5 23:14 | 显示全部楼层
晕,这么麻烦还不如用高版本的cad呢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-21 13:36 , Processed in 0.228963 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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