Sdílet prostřednictvím


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:

Vložení nové šablony stránky vlastností do projektu

  1. Otevřete řídicí projekt a otevřete zobrazení zdrojů v pracovním prostoru projektu.

  2. Kliknutím pravým tlačítkem v zobrazení zdrojů otevřete místní nabídku a klikněte na Přidat prostředek.

  3. Rozbalte uzel Dialogové okno a vyberte IDD_OLE_PROPPAGE_SMALL.

  4. Kliknutím na Tlačítko Nový přidáte zdroj do projektu.

  5. Výběrem šablony nové stránky vlastností aktualizujte okno Vlastnosti (v zobrazení prostředku).

  6. Zadejte novou hodnotu vlastnosti ID . Tento příklad používá IDD_PROPPAGE_NEWPAGE.

  7. Na panelu nástrojů klikněte na tlačítko Uložit.

Přidružení nové šablony ke třídě

  1. Otevřete zobrazení třídy.

  2. Kliknutím pravým tlačítkem myši v zobrazení třídy otevřete místní nabídku.

  3. 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 .

  4. Poklikejte na šablonu třídy MFC.

  5. 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.)

  6. 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.

  7. V poli Základní třída vyberte COlePropertyPage.

  8. V dialogovém okně ID vyberte IDD_PROPPAGE_NEWPAGE.

  9. 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í

  1. Otevřete projekt ovládacího prvku a otevřete zobrazení zdrojů.

  2. 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ě.

  3. 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.

  4. 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í.

  5. Opakujte kroky 3 a 4 pomocí IDS_SAMPLE_ADDPPG_CAPTION ID a "Další stránka vlastností" pro popis.

  6. V sadě . Soubor CPP vaší nové třídy stránky vlastnosti (v tomto příkladuCAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry) upravte tak, CAddtlPropPageaby 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);
    }
    
  7. Upravte konstruktor CAddtlPropPage tak, aby IDS_SAMPLE_ADDPPG_CAPTION byl předán konstruktoru COlePropertyPage 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 .

Viz také

MFC – ovládací prvky ActiveX