大家好,我从autocad帮助中复制了这段代码,但我想创建一个具有句柄的对象事件,一个独立于其他子对象的事件,可以在autocad启动时或任何时候使用,我想创建具有一些句柄的数据库,当我更改一个特定对象时,也可以更改数据库,一个动态数据库,这不是很好
Autocad帮助中的代码:
- Public WithEvents PLine As AcadLWPolyline ' Use with Modified Event Example
- 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("AutoCAD.AcCmColor.20")
- 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
|