关于acedGetXXXX类函数的反应过程。。。
在调用acedGetXXXX类函数的时候,CAD是一个什么样的反应过程?我们能在什么时机进行干涉?在doc文件里,我找到了beginGetXXXX()和endGetXXXX(),也就是说,在向CAD发送get命令后,就是beginGetXXXX时机,待用户选择完或输入数值回车后,即为endGetXXXX时机。
那么问题就来了:比如以画线为例,指定起点后,用户是可以直接输入一个数值作为下一点的距离的,回车后,CAD就直接完成了绘制功能,那么有没有可能,在用户输入完成后,在回车时(但是在CAD真正接受到这个数值之前),我们自己先获取这个数值,并对这个数值进行更改?
具体应该怎么做?是用反应来抓住某个时机,还是用什么更为简单粗暴的方法呢?不知道各位高手对此有没有研究?肯定不吝赐教!
后来采用一种非常规的方法实现了,步骤如下:
1、获取当前命令行的内容,并提取其中合法的输入内容(所谓合法,就是数值),并对获得的数值进行自己需要的更改,比如乘以一个系数
2、用SendInput函数模拟键盘操作,向命令行发送字符,字符包括两部分,先头部分为n个“\b”,n取决于之前获得的合法内容的长度,也就相当于把用户之前输入的用退格键删除,后面部分便是更改之后的新的内容。
页:
[1]