如何获取当前图纸中的鼠标位置到VBA中
如何获取当前图纸中的鼠标位置到VBA中?怎样利用VLAX类进行操作? 鼠标不单击,就边VLAX都不行。 可以实现,如下所示(转载于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]