指定屬性頁
當您建立 ActiveX 控制件時,通常會想要將它與可用來設定控件屬性的屬性頁產生關聯。 控件容器會 ISpecifyPropertyPages
使用 介面來找出哪些屬性頁可用來設定控件的屬性。 您必須在控件上實作這個介面。
若要使用 ATL 實 ISpecifyPropertyPages
作,請執行下列步驟:
從 ISpecifyPropertyPagesImpl 衍生您的類別。
將的專案
ISpecifyPropertyPages
新增至類別的 COM 對應。針對與控件相關聯的每個頁面,將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.