CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

设置属性事件通知

2022-12-31 11:38| 发布者: admin| 查看: 241| 评论: 0|来自: AutoCAD

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


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-19 14:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部