Sdílet prostřednictvím


MFC – ovládací prvky ActiveX: Přidání další stránky přizpůsobených vlastností

V některých případech ovládací prvek ActiveX bude mít více vlastností než rozumně vejde na jednu stránku vlastností.V takovém případě můžete přidat stránky vlastností pro ovládací prvek ActiveX pro zobrazení těchto vlastností.

Tento článek popisuje přidání nové stránky vlastností pro ovládací prvek ActiveX, který již má alespoň jednu stránku vlastností.Další informace o přidávání uloženou vlastnost stránky (písmo, obrázek nebo barvu), naleznete v článku ovládací prvky MFC ActiveX: pomocí stránky vlastností zásob.

Následující postupy použít vzorek rámec ovládací prvek ActiveX vytvořené pomocí Průvodce ovládacího prvku ActiveX.Proto jsou jedinečné pro tento příklad třídy názvy a identifikátory.

Další informace o použití stránek vlastností ovládacího prvku ActiveX naleznete v následujících článcích:

Chcete-li vložit novou šablonu stránky vlastností do projektu

  1. Otevřené řízení projektu otevřete zobrazení zdrojů v pracovním prostoru projektu.

  2. Klepněte pravým tlačítkem myši v zobrazení zdrojů otevřete místní nabídku a klepněte na tlačítko Přidat prostředek.

  3. Rozbalte Dialog uzel a vyberte IDD_OLE_PROPPAGE_SMALL.

  4. Klepněte na tlačítko New Chcete-li přidat zdroje do projektu.

  5. Vyberte novou šablonu stránky vlastnost aktualizovat okno Vlastnosti.

  6. Zadejte novou hodnotu pro ID vlastnost.V tomto příkladu IDD_PROPPAGE_NEWPAGE.

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

Chcete-li přidružit novou šablonu třídy

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

  2. Klepněte pravým tlačítkem myši v zobrazení tříd a místní nabídce.

  3. V místní nabídce klikněte na příkaz Přidat a poté klikněte na tlačítko Přidat třídu.

    Otevře Přidat třídu dialogové okno.

  4. Poklepejte Třídy MFC šablony.

  5. V Název třídy poli MFC Class Wizard, zadejte název pro novou třídu v dialogovém okně. (V tomto příkladu CAddtlPropPage.)

  6. Pokud chcete změnit názvy souborů, klepněte na tlačítko změnit.Zadejte názvy pro provádění a záhlaví soubory nebo přijměte výchozí názvy.

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

  8. V Identifikátor dialogového okna vyberte IDD_PROPPAGE_NEWPAGE.

  9. Klepněte na tlačítko Dokončit pro vytvoření třídy.

Chcete-li uživatelům ovládacího prvku povolit přístup k této nové stránky vlastností, proveďte následující změny do ovládacího prvku vlastnost ID makro sekce stránky (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 třeba zvýšit druhý parametr BEGIN_PROPPAGEIDS makro (počet vlastností stránky) z 1 na 2.

Musíte také upravit soubor implementace ovládacího prvku (.Soubor CPP) zahrnout záhlaví (.H) soubor nové třídy stránky vlastností.

Další krok zahrnuje vytvoření dva nové prostředky řetězců, které poskytuje název typu a titulek nové stránky vlastností.

K přidání nových zdrojů řetězec pro danou stránku vlastností

  1. Otevřené řízení projektu otevřete zobrazení zdrojů.

  2. Poklepejte Tabulky řetězců složku a potom poklepejte na tabulky existující řetězec prostředku, ke kterému chcete přidat řetězec.

    Řetězec tabulka se otevře v okně.

  3. Vyberte prázdný řádek na konec tabulky řetězců a zadejte text nebo titulek řetězce: například "další stránku vlastností."

    Otevře Řetězec vlastnosti stránky zobrazující Titulek a ID polí.Titulek pole obsahuje řetězec, který jste zadali.

  4. V ID vyberte nebo zadejte Identifikátor řetězce.Po dokončení stiskněte klávesu Enter.

    V tomto příkladu IDS_SAMPLE_ADDPAGE zadejte název nové stránky vlastností.

  5. Opakujte kroky 3 a 4 pomocí IDS_SAMPLE_ADDPPG_CAPTION ID a "Další stránku vlastností" titulek.

  6. V.Soubor CPP z nové třídy stránky vlastností (v tomto příkladu CAddtlPropPage) změnit CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry tak, aby je předaných IDS_SAMPLE_ADDPAGE AfxOleRegisterPropertyPageClass, jako 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 , aby IDS_SAMPLE_ADDPPG_CAPTION je předán COlePropertyPage konstruktoru následovně:

    CAddtlPropPage::CAddtlPropPage() :
       COlePropertyPage(IDD, IDS_SAMPLE_ADDPPG_CAPTION)
    {
    
    }
    

Po provedení nezbytných úprav znovu sestavte projekt a kontejneru Test slouží k testování nové stránky vlastností.Viz Testování vlastností a událostí s kontejnerem Test informace o získání přístupu k kontejner testu.

Viz také

Koncepty

MFC – ovládací prvky ActiveX