Usednizao 发表于 2015-12-14 14:47:54

修改的事件

大家好,我从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
页: [1]
查看完整版本: 修改的事件