Share via


单元对象宏

这些宏提供对管理单元扩展的支持。

名称 描述
BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 标记管理单元对象的管理单元扩展数据类映射的开始。
BEGIN_SNAPINTOOLBARID_MAP 标记管理单元对象的工具栏映射的开始。
END_EXTENSION_SNAPIN_NODEINFO_MAP 标记管理单元对象的管理单元扩展数据类映射的结束。
END_SNAPINTOOLBARID_MAP 标记管理单元对象的工具栏映射的结束。
EXTENSION_SNAPIN_DATACLASS 为管理单元扩展的数据类创建数据成员。
EXTENSION_SNAPIN_NODEINFO_ENTRY 将管理单元扩展数据类输入到管理单元对象的管理单元扩展数据类映射中。
SNAPINMENUID 声明管理单元对象使用的上下文菜单的 ID。
SNAPINTOOLBARID_ENTRY 在管理单元对象的工具栏映射中输入工具栏。

要求

标头:atlsnap.h

BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP

标记管理单元扩展数据类映射的开始。

BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP(classname)

参数

classname
[in] 管理单元扩展数据类的名称。

备注

使用 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 宏启动管理单元扩展映射,使用 EXTENSION_SNAPIN_NODEINFO_ENTRY 宏添加每个管理单元扩展数据类型的条目,并使用 END_EXTENSION_SNAPIN_NODEINFO_MAP 宏完成映射。

示例

class CMyExtSnapinExtData : 
   public CSnapInItemImpl<CMyExtSnapinExtData>,
   public CMySnapinBase
{
public:
   CMyExtSnapinExtData() {}
};

class CMyExtSnapin : 
   public CComObjectRoot,
   public CSnapInObjectRoot<1, CMyExtSnapin>,
   public IComponentDataImpl<CMyExtSnapin, CMyExtSnapin>
{
public:
   CMyExtSnapin() {}

   BEGIN_COM_MAP(CMyExtSnapin)
   END_COM_MAP()

   EXTENSION_SNAPIN_DATACLASS(CMyExtSnapinExtData)

   BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP(CMyExtSnapin)
      EXTENSION_SNAPIN_NODEINFO_ENTRY(CMyExtSnapinExtData)
   END_EXTENSION_SNAPIN_NODEINFO_MAP()
};

BEGIN_SNAPINTOOLBARID_MAP

声明管理单元对象的工具栏 ID 映射的开始。

BEGIN_SNAPINTOOLBARID_MAP(_class)

参数

_class
[in] 指定管理单元对象类。

示例

class CMySnapinData : 
   public CSnapInItemImpl<CMySnapinData>,
   public CMySnapinBase
{
public:
   CMySnapinData() {}

   BEGIN_SNAPINTOOLBARID_MAP(CMySnapinData)
      // IDR_MYSNAPINTOOLBAR is the resource ID of a toolbar resource.
      SNAPINTOOLBARID_ENTRY(IDR_MYSNAPINTOOLBAR)
   END_SNAPINTOOLBARID_MAP()
};

END_EXTENSION_SNAPIN_NODEINFO_MAP

标记管理单元扩展数据类映射的结束。

END_EXTENSION_SNAPIN_NODEINFO_MAP()

备注

使用 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 宏启动管理单元扩展映射,使用 EXTENSION_SNAPIN_NODEINFO_ENTRY 宏添加每个管理单元扩展数据类型的条目,并使用 END_EXTENSION_SNAPIN_NODEINFO_MAP 宏完成映射。

示例

请参阅有关 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 的示例。

END_SNAPINTOOLBARID_MAP

声明管理单元对象的工具栏 ID 映射的结束。

END_SNAPINTOOLBARID_MAP( _class )

参数

_class
[in] 指定管理单元对象类。

示例

请参阅有关 BEGIN_SNAPINTOOLBARID_MAP 的示例。

EXTENSION_SNAPIN_DATACLASS

向 ISnapInItemImpl 派生类的管理单元扩展数据类添加数据成员。

EXTENSION_SNAPIN_DATACLASS(dataClass )

参数

dataClass
[in] 管理单元扩展的数据类。

注解

还应将此类输入到管理单元扩展数据类映射中。 使用 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 宏启动管理单元扩展数据类映射,使用 EXTENSION_SNAPIN_NODEINFO_ENTRY 宏添加每个管理单元扩展数据类型的条目,并使用 END_EXTENSION_SNAPIN_NODEINFO_MAP 宏完成映射。

示例

class CMyExtSnapinExtData : 
   public CSnapInItemImpl<CMyExtSnapinExtData>,
   public CMySnapinBase
{
public:
   CMyExtSnapinExtData() {}
};

class CMyExtSnapin : 
   public CComObjectRoot,
   public CSnapInObjectRoot<1, CMyExtSnapin>,
   public IComponentDataImpl<CMyExtSnapin, CMyExtSnapin>
{
public:
   CMyExtSnapin() {}

   BEGIN_COM_MAP(CMyExtSnapin)
   END_COM_MAP()

   EXTENSION_SNAPIN_DATACLASS(CMyExtSnapinExtData)

   BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP(CMyExtSnapin)
      EXTENSION_SNAPIN_NODEINFO_ENTRY(CMyExtSnapinExtData)
   END_EXTENSION_SNAPIN_NODEINFO_MAP()
};

EXTENSION_SNAPIN_NODEINFO_ENTRY

将管理单元扩展数据类添加到管理单元扩展数据类映射。

EXTENSION_SNAPIN_NODEINFO_ENTRY( dataClass )

参数

dataClass
[in] 管理单元扩展的数据类。

备注

使用 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 宏启动管理单元扩展数据类映射,使用 EXTENSION_SNAPIN_NODEINFO_ENTRY 宏添加每个管理单元扩展数据类型的条目,并使用 END_EXTENSION_SNAPIN_NODEINFO_MAP 宏完成映射。

示例

请参阅有关 BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP 的示例。

SNAPINMENUID

使用此宏声明管理单元对象的上下文菜单资源。

SNAPINMENUID( id )

参数

id
[in] 标识管理单元对象的上下文菜单。

SNAPINTOOLBARID_ENTRY

使用此宏在管理单元对象的工具栏 ID 映射中输入工具栏 ID。

SNAPINTOOLBARID_ENTRY( id )

参数

id
[in] 标识工具栏控件。

备注

BEGIN_SNAPINTOOLBARID_MAP 宏标记工具栏 ID 映射的开始;END_SNAPINTOOLBARID_MAP 宏标记结束。

示例

请参阅有关 BEGIN_SNAPINTOOLBARID_MAP 的示例。

另请参阅