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