指定属性页
创建 ActiveX 控件时,通常需要将其与可用于设置控件属性的属性页相关联。 控件容器使用 ISpecifyPropertyPages
接口来找出哪些属性页可用于设置控件的属性。 需要在控件上实现此接口。
若要使用 ATL 实现 ISpecifyPropertyPages
,请执行以下步骤:
从 ISpecifyPropertyPagesImpl 派生类。
向类的 COM 映射添加
ISpecifyPropertyPages
的条目。将 PROP_PAGE 项添加到与控件关联的每个页面的属性映射中。
注意
使用 ATL 控件向导生成标准控件时,只需将PROP_PAGE 条目添加到属性映射中。 向导会生成其他步骤所需的代码。
性能良好的容器将以与属性映射中的 PROP_PAGE 条目相同的顺序显示指定的属性页。 通常,应在属性映射中自定义页面的条目之后放置标准属性页条目,以便用户首先看到特定于控件的页面。
示例
日历控件的以下类使用 ISpecifyPropertyPages
接口告知容器可以使用自定义日期页和股票颜色页面设置其属性。
class ATL_NO_VTABLE CMyCtrl :
OtherInterfaces
public ISpecifyPropertyPagesImpl<CMyCtrl>
{
public:
BEGIN_COM_MAP(CMyCtrl)
OtherComMapEntries
COM_INTERFACE_ENTRY(ISpecifyPropertyPages)
END_COM_MAP()
BEGIN_PROP_MAP(CMyCtrl)
OtherPropMapEntries
PROP_PAGE(CLSID_DatePage)
PROP_PAGE(CLSID_StockColorPage)
END_PROP_MAP()
// Remainder of class declaration omitted.