adison 发表于 2005-6-4 14:58:00

如何获取当前图纸中的鼠标位置到VBA中

如何获取当前图纸中的鼠标位置到VBA中?怎样利用VLAX类进行操作?

mccad 发表于 2005-6-5 07:42:00

鼠标不单击,就边VLAX都不行。

adison 发表于 2005-6-6 17:21:00

可以实现,如下所示(转载于XDCAD),就是现在还不能同时进行动态捕捉到交点或终点等。<br>
<font style="font-size: 10pt;" id="text4" face="宋体,verdana, arial, helvetica">Function GetPoint()<br>
'功能:返回当前鼠标状态<br>
'Vlax类请小心使用,该函数可能使AutoCad崩溃<br>
'返回值:一维数组<br>
'返回0,0,-1表示按下鼠标左键,返回0,0,1表示按下鼠标右键,返回a,b,0表示当前鼠标坐标<br>
On Error GoTo ErrClear<br>
Dim obj As VLAX<br>
Dim pRetVal(2) As Double, retVal<br>
Set obj = New VLAX<br>
obj.EvalLispExpression ("(setq a (grread t) b (car a) c (cadr a))")<br>
Select Case obj.GetLispSymbol("b")<br>
Case 3<br>
pRetVal(2) = -1<br>
Case 5<br>
retVal = obj.GetLispList("c")<br>
pRetVal(0) = retVal(0)<br>
pRetVal(1) = retVal(1)<br>
Case Else<br>
pRetVal(2) = 1<br>
End Select<br>
GetPoint = pRetVal<br>
ErrClear:<br>
Set obj = Nothing<br>
End Function</font><br>
页: [1]
查看完整版本: 如何获取当前图纸中的鼠标位置到VBA中