CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

添加属性

2022-12-31 09:12| 发布者: admin| 查看: 269| 评论: 0|来自: AutoCAD

要使常用工具具有专用性,请定义其值由工具选项板框架保留的特性。这些属性的值区分单个常用工具的各种实例。由于项目通过 COM 接口与框架通信,因此首先使用 ATL 定义自动化属性。若要在运行时处理属性,请在 coclass 中定义函数。getput

对于此示例项目,定义单个属性 ,,类型。CmdNameBSTR

添加属性支持

  1. 使用 Visual Studio 的 ATL 向导,添加一个名为 newproperty 的 newproperty,该属性支持两者和函数。BSTRCmdNamegetput
  2. SimpleTool.h 中,将公共数据成员添加到 thecoclass 以表示新属性:CSimpleTool
    TCHAR m_tcCmdName[256];
    
  3. 如果 ATL 向导尚未这样做,请将公共方法声明添加到 coclass:getput
    STDMETHOD(get_CmdName)(/*out, retval*/ BSTR* pVal);
    STDMETHOD(put_CmdName)(/*in*/ BSTR newVal);
    
  4. SimpleTool.cpp 中,属性的实现和方法,如下所示:getput
    STDMETHODIMP CSimpleTool:get_CmdName(BSTR* pVal)
    {
        CComBSTR bStr(m_tcCmdName);
        bStr.CopyTo(pVal);
        return S_OK;
    }
    STDMETHODIMP CSimpleTool:put_CmdName(BSTR newVal)
    {
        CComBSTR bStr(newVal);
        COLE2T szName(bStr);
        _tcscpy(m_tcCmdName, szName);
        return S_OK;
    }
    

此示例使用 ATL 7.0 提供的类对象和宏来处理字符串类型转换。请参阅 Microsoft 文档,了解注意事项和指南,以便在使用这些 ATL 功能时考虑。CComBSTRCOLE2T


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部