MFC – ovládací prvky ActiveX: Přidání další stránky přizpůsobených vlastností
Někdy bude mít ovládací prvek technologie ActiveX více vlastností, než se dá přiměřeně přizpůsobit na jednu stránku vlastností. V tomto případě můžete přidat stránky vlastností do ovládacího prvku technologie ActiveX, aby se tyto vlastnosti zobrazily.
Tento článek popisuje přidání nových stránek vlastností do technologie ActiveX ovládacího prvku, který už má aspoň jednu stránku vlastností. Další informace o přidávání stránek vlastností stock (písmo, obrázek nebo barva) najdete v článku MFC technologie ActiveX Ovládací prvky: Použití stránek vlastností stock.
Následující postupy používají ukázkovou technologie ActiveX řídicí architekturu vytvořenou průvodcem technologie ActiveX ovládacím prvku. Proto jsou názvy a identifikátory tříd jedinečné pro tento příklad.
Další informace o používání stránek vlastností v ovládacím prvku technologie ActiveX najdete v následujících článcích:
MFC – ovládací prvky ActiveX: Použití stránek uložených vlastností
Poznámka
Důrazně doporučujeme, aby nové stránky vlastností dodržovaly normu velikosti pro technologie ActiveX stránky vlastností ovládacího prvku. Stock picture and color property pages measure 250x62 dialog units (DLU). Standardní stránka vlastností písma je 250x110 DLU. Výchozí stránka vlastností vytvořená průvodcem ovládacím prvku technologie ActiveX používá standard DLU 250x62.
Vložení nové šablony stránky vlastností do projektu
Otevřete řídicí projekt a otevřete zobrazení zdrojů v pracovním prostoru projektu.
Kliknutím pravým tlačítkem v zobrazení zdrojů otevřete místní nabídku a klikněte na Přidat prostředek.
Rozbalte uzel Dialogové okno a vyberte IDD_OLE_PROPPAGE_SMALL.
Kliknutím na Tlačítko Nový přidáte zdroj do projektu.
Výběrem šablony nové stránky vlastností aktualizujte okno Vlastnosti (v zobrazení prostředku).
Zadejte novou hodnotu vlastnosti ID . Tento příklad používá IDD_PROPPAGE_NEWPAGE.
Na panelu nástrojů klikněte na tlačítko Uložit.
Přidružení nové šablony ke třídě
Otevřete zobrazení třídy.
Kliknutím pravým tlačítkem myši v zobrazení třídy otevřete místní nabídku.
V místní nabídce klepněte na tlačítko Přidat a potom klepněte na tlačítko Přidat třídu.
Otevře se dialogové okno Přidat třídu .
Poklikejte na šablonu třídy MFC.
Do pole Název třídy v Průvodci třídou MFC zadejte název nové třídy dialogového okna. (V tomto příkladu
CAddtlPropPage
.)Chcete-li změnit názvy souborů, klikněte na tlačítko Změnit. Zadejte názvy souborů implementace a hlaviček nebo přijměte výchozí názvy.
V poli Základní třída vyberte
COlePropertyPage
.V dialogovém okně ID vyberte IDD_PROPPAGE_NEWPAGE.
Chcete-li vytvořit třídu, klikněte na tlačítko Dokončit .
Pokud chcete uživatelům ovládacího prvku povolit přístup k této nové stránce vlastností, proveďte následující změny v oddílu maker ID stránky vlastností ovládacího prvku (umístěný v souboru implementace ovládacího prvku):
BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
PROPPAGEID(CMyAxUIPropPage::guid)
PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)
Všimněte si, že je nutné zvýšit druhý parametr makra BEGIN_PROPPAGEIDS (počet stránek vlastností) z 1 na 2.
Musíte také upravit soubor implementace ovládacího prvku (. Soubor CPP, který má obsahovat hlavičku (. H) soubor nové třídy stránky vlastností.
Dalším krokem je vytvoření dvou nových prostředků řetězce, které poskytnou název typu a popis pro novou stránku vlastností.
Přidání nových řetězcových prostředků na stránku vlastností
Otevřete projekt ovládacího prvku a otevřete zobrazení zdrojů.
Poklikejte na složku Tabulka řetězců a potom poklikejte na existující prostředek tabulky řetězců, do kterého chcete přidat řetězec.
Tím se otevře tabulka řetězců v okně.
Vyberte prázdný řádek na konci tabulky řetězců a zadejte text nebo popis řetězce, například "Další stránka vlastností".
Otevře se stránka Vlastností řetězce zobrazující pole Titulky a ID . Pole Titulek obsahuje zadaný řetězec.
V poli ID vyberte nebo zadejte ID řetězce. Po dokončení stiskněte Enter.
Tento příklad používá IDS_SAMPLE_ADDPAGE pro název typu nové stránky vlastností.
Opakujte kroky 3 a 4 pomocí IDS_SAMPLE_ADDPPG_CAPTION ID a "Další stránka vlastností" pro popis.
V sadě . Soubor CPP vaší nové třídy stránky vlastnosti (v tomto příkladu
CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry
) upravte tak,CAddtlPropPage
aby IDS_SAMPLE_ADDPAGE byl předán AfxOleRegisterPropertyPageClass, jak je uvedeno v následujícím příkladu:BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister) { if (bRegister) return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(), m_clsid, IDS_SAMPLE_ADDPAGE); else return AfxOleUnregisterClass(m_clsid, NULL); }
Upravte konstruktor
CAddtlPropPage
tak, aby IDS_SAMPLE_ADDPPG_CAPTION byl předán konstruktoruCOlePropertyPage
následujícím způsobem:CAddtlPropPage::CAddtlPropPage() : COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION) { }
Po provedení nezbytných úprav znovu sestavte projekt a pomocí testovacího kontejneru otestujte novou stránku vlastností. Informace o přístupu k testovacímu kontejneru najdete v tématu Testování vlastností a událostí s testovacím kontejnerem .