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