AutoCAD 对象的 COM 包装器必须在每个静态特性的方法中调用 theand方法。如果派生自而不是直接实现,请调用该方法来处理和通知。IAcadBaseObject2::Fire_Modified()Fire_OnChanged()put_IAcadBaseObject2ImplIAcadBaseObject2Fire_Notification()Fire_Modified()Fire_OnChanged() 对于非AutoCAD ActiveX对象的动态特性,请提供沙子方法。你应该实现存储一个指向对象的指针。实现通过将内部副本设置为 null 来放弃连接。IDynamicProperty2Connect()Disconnect()Connect()IDynamicPropertyNotify2Disconnect() 该接口用于通知动态属性其值已在属性检查器中编辑。此接口提供两种方法:和。当属性发生更改时,将发送 OnChanged() 通知。您的 IDynamicPropertyNotify2 对象可以调用 GetCurrentSelectionSet()IDynamicPropertyNotify2OnChanged()GetCurrentSelectionSet() 侦听器对象通常使用以下代码中演示的 Microsoft API 连接到属性检查器事件。 // Connect for events fired by the Property Inspector ASSERT(mpInspector != NULL); CComQIPtr<IConnectionPointContainer> pContainer = mpInspector; CComPtr<IConnectionPoint> pConnection; if (pContainer) { pContainer->FindConnectionPoint( IID_IAcPiPropertyInspectorInputEventSink, &pConnection); pConnection->Advise(mpInspectorSink, &mdwCookie); //mpInspectorSink is an IUnknown* } 稍后,侦听器使用 value 通过调用指针来删除连接。mdwCookieUnadvise()pConnection |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:47
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.