myfreemind 发表于 2003-4-19 17:43:00

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

这个代码就可以实现放大,缩小和右键取消,但移动还没有办法,为什么选择集合没有办法呢?我估计道理可能是这样的,就是比如你在窗口中框选一些图元,这些图元不就高亮了嘛,但当你移动,高亮就立刻取消,我是这样理解的~~也不知道对不对?

Taoyimaier 发表于 2003-4-21 00:21:00

比方打得很好,可以当一个老师了,你对错误代码研究挺深的么,hhehe

页: [1]
查看完整版本: Taoyimaier,我现在估计只有用户交互命令才可以中断代码。。。。