请教使用类处理事件
EventClassModule类中的代码:Public WithEvents Object As AcadCircle
Module1中的代码:
Sub Example_AcadApplication_Events()
Dim X As New EventClassModule
Dim MyCircle As AcadCircle
Dim centerPoint(0 To 2) As Double
Dim radius As Double
centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
radius = 5#
Set MyCircle = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)
Set X.Object = MyCircle
End Sub
Private Sub Object_Modified(ByVal pObject As .IAcadObject)
On Error GoTo ERRORHANDLER
MsgBox "对象" & pObject.ObjectName & " 的面积为: " & pObject.Area
Exit Sub
ERRORHANDLER:
MsgBox Err.Description
End Sub
程序通过。但是改变在图中改变圆的大小时,不能触发Object_Modified事件。请问应该如何改动?
另外,在VB中能够实现么?具体写法如何?
谢谢指教。 Private Sub Object_Modified(ByVal pObject As AutoCAD.IAcadObject)
On Error GoTo ERRORHANDLER
MsgBox "对象" & pObject.ObjectName & " 的面积为: " & pObject.Area
Exit Sub
ERRORHANDLER:
MsgBox Err.Description
End Sub
这些代码应该在EventClassModule类里 飞狐兄,你试过了么?
我试过了,不行呀。 Dim X As New EventClassModule
应该放在模块级变量里,不应该放在过程级里。 这个是程序级的事件么
页:
[1]