Zadání stránek vlastností
Když vytvoříte ovládací prvek ActiveX, budete ho často chtít přidružit ke stránkám vlastností, které lze použít k nastavení vlastností ovládacího prvku. Kontejnery ovládacích ISpecifyPropertyPages
prvků používají rozhraní ke zjištění, které stránky vlastností lze použít k nastavení vlastností ovládacího prvku. Na ovládacím prvku budete muset implementovat toto rozhraní.
Pokud chcete implementovat ISpecifyPropertyPages
použití knihovny ATL, proveďte následující kroky:
Odvodit vaši třídu z ISpecifyPropertyPagesImpl.
Přidejte položku pro
ISpecifyPropertyPages
mapu modelu COM předmětu.Přidejte PROP_PAGE položku do mapy vlastností pro každou stránku přidruženou k vašemu ovládacímu prvku.
Poznámka:
Při generování standardního ovládacího prvku pomocí Průvodce ovládacími prvky ATL budete muset přidat pouze PROP_PAGE položky do mapy vlastností. Průvodce vygeneruje potřebný kód pro další kroky.
Kontejnery, které se dobře chovají, zobrazí zadané stránky vlastností ve stejném pořadí jako položky PROP_PAGE v mapě vlastností. Obecně platí, že za položky vlastních stránek v mapě vlastností byste měli umístit standardní položky stránky vlastností, aby uživatelé viděli stránky specifické pro váš ovládací prvek.
Příklad
Následující třída ovládacího prvku kalendáře používá ISpecifyPropertyPages
rozhraní k určení kontejnerů, že jeho vlastnosti lze nastavit pomocí vlastní stránky kalendářních dat a stránky barev akcií.
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.