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

请教使用类处理事件

EventClassModule类中的代码:


Public WithEvents Object As AcadCircle


Module1中的代码:


Sub Example_AcadApplication_Events()<BR>               Dim X As New EventClassModule<BR>               Dim MyCircle As AcadCircle<BR>               Dim centerPoint(0 To 2) As Double<BR>               Dim radius As Double<BR>               centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#<BR>               radius = 5#<BR>               Set MyCircle = ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)<BR>               Set X.Object = MyCircle<BR>               <BR>End Sub


Private Sub Object_Modified(ByVal pObject As AutoCAD.IAcadObject)<BR>                       On Error GoTo ERRORHANDLER<BR>                       MsgBox "对象" &amp; pObject.ObjectName &amp; " 的面积为: " &amp; pObject.Area<BR>                       Exit Sub<BR>                       <BR>ERRORHANDLER:<BR>                       MsgBox Err.Description<BR>End Sub<BR><BR>程序通过。但是改变在图中改变圆的大小时,不能触发Object_Modified事件。请问应该如何改动?


另外,在VB中能够实现么?具体写法如何?


谢谢指教。

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

Private Sub Object_Modified(ByVal pObject As AutoCAD.IAcadObject)<BR>                       On Error GoTo ERRORHANDLER<BR>                       MsgBox "对象" &amp; pObject.ObjectName &amp; " 的面积为: " &amp; pObject.Area<BR>                       Exit Sub<BR>                       <BR>ERRORHANDLER:<BR>                       MsgBox Err.Description<BR>End Sub<BR>这些代码应该在EventClassModule类里

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

飞狐兄,你试过了么?


                                       我试过了,不行呀。

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

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

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

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