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