sharksun 发表于 2004-7-10 21:50:00

请教使用类处理事件

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中能够实现么?具体写法如何?
谢谢指教。

雪山飞狐_lzh 发表于 2004-7-10 22:24:00

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类里

sharksun 发表于 2004-7-11 00:18:00

飞狐兄,你试过了么?
                                       我试过了,不行呀。

sharksun 发表于 2004-7-12 22:11:00

Dim X As New EventClassModule
应该放在模块级变量里,不应该放在过程级里。

sinbar 发表于 2008-3-20 21:01:00

这个是程序级的事件么
页: [1]
查看完整版本: 请教使用类处理事件