指定屬性頁
當您建立 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.