|
错误提示在WithEvents上,提示:仅在模块中有效。不过变量声明是在模块中啊。 以下是从帮助里拷贝的代码:
Option Explicit
Public WithEvents PLine As AcadLWPolyline
Sub Example_Modified()
' This example creates a lightweight polyline in model space and
' references the PolyLine using the public variable (PLine) which
' is set up to intercept Modified events.
'
' This example then modifies the new object, triggering the code
' in the Modified event.
Dim points(0 To 9) As Double
' Define the 2D polyline points
points(0) = 1: points(1) = 1
points(2) = 1: points(3) = 2
points(4) = 2: points(5) = 2
points(6) = 3: points(7) = 2
points(8) = 4: points(9) = 4
' Create a lightweight Polyline object in model space
'
' * Note: We are returning the new PolyLine object into a Module
' level variable. This allows us to intercept events associated
' with that particular object.
Set PLine = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
ThisDrawing.Application.ZoomAll
' Modify object to trigger event.
'
' * Note: The event code for the PolyLine modification will be triggered
' before we move forward and refresh the view, so the line will not
' appear blue when the event message box is displayed.
Dim color As AcadAcCmColor
Set color = AcadApplication.GetInterfaceObject(".AcCmColor.16")
Call color.SetRGB(80, 100, 244)
PLine.TrueColor = color
ThisDrawing.Regen acAllViewports
End Sub
Private Sub PLine_Modified(ByVal pObject As AutoCAD.IAcadObject)
' This example intercepts an object's Modified event.
'
' This event is triggered when an object supporting this event is modified.
'
' To trigger this code: Modify an object connected to this event
' * Note: By connected, we mean the object set up to intercept events using
' the VBA WithEvents statement
' Use the "pObject" variable to determine which object was modified
MsgBox "You just modified an object with an ID of: " & pObject.ObjectID
End Sub
|
|