Taoyimaier,我现在估计只有用户交互命令才可以中断代码。。。。
Sub drawline()On Error GoTo Err_Control
Dim pnt1 As Variant
Dim pnt2 As Variant
Dim lineobj As AcadLine
pnt1 = ThisDrawing.Utility.GetPoint(, "first")
pnt2 = ThisDrawing.Utility.GetPoint(pnt1, "second")
Set lineobj = ThisDrawing.ModelSpace.AddLine(pnt1, pnt2)
ThisDrawing.Application.ZoomExtents
Exit_Here:
Exit Sub
Err_Control:
Select Case err.Number
Case -2147352567
'按了取消键或其它透明命令
varCancel = ThisDrawing.GetVariable("LASTPROMPT")
If InStr(1, varCancel, "*Cancel*") <> 0 And InStr(1, varCancel, "*取消*") <> 0 Then
err.Clear
Resume Exit_Here
Else
err.Clear
Resume
End If
Case -2147467259
'右键单击或回车或空格
err.Clear
Resume Exit_Here
Case Else
MsgBox err.Number & err.Description
err.Clear
Resume Exit_Here
End Select
End Sub
这个代码就可以实现放大,缩小和右键取消,但移动还没有办法,为什么选择集合没有办法呢?我估计道理可能是这样的,就是比如你在窗口中框选一些图元,这些图元不就高亮了嘛,但当你移动,高亮就立刻取消,我是这样理解的~~也不知道对不对?
比方打得很好,可以当一个老师了,你对错误代码研究挺深的么,hhehe
页:
[1]