- 积分
- 1838
- 明经币
- 个
- 注册时间
- 2003-8-24
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
错误提示在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("AutoCAD.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
|
|