Sdílet prostřednictvím


Ovládací prvky MFC ActiveX: Přidání jiné vlastní vlastnosti stránky

Ovládací prvek ActiveX v některých případech 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í ovládacího prvku ActiveX pro zobrazení těchto vlastností.

Tento článek popisuje přidání nové stránky vlastností pro ovládací prvek ActiveX, který již obsahuje nejméně jednu vlastnost stránky.Další informace o přidávání akcií vlastnosti stránky (písmo, obrázek nebo barvu) naleznete v článku ovládací prvky MFC ActiveX: pomocí stránky vlastností populace.

Použijte následující postupy rámci ovládací prvek ActiveX vzorku vytvořené pomocí průvodce ovládací prvek ActiveX.Proto jsou jedinečné v tomto příkladu názvy tříd a identifikátorů.

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

Vložit novou šablonu stránky vlastností do projektu

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

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

  3. Rozbalte dialogové okno uzlu a vyberte IDD_OLE_PROPPAGE_SMALL.

  4. Klepněte na New přidání zdroje do projektu.

  5. Vyberte šablonu stránky nové vlastnosti aktualizace okna Vlastnosti.

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

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

Přidružit novou šablonu třídy

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

  2. Pravým tlačítkem myši na třídu zobrazení otevřete místní nabídku.

  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 pole Průvodce třídy MFC, zadejte název nové třídy dialogové okno.(V tomto příkladu CAddtlPropPage.)

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

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

  8. V ID dialogové okno vyberte položku IDD_PROPPAGE_NEWPAGE.

  9. Klepněte na tlačítko Dokončit vytvořit třídu.

Chcete-li povolit přístup k této nové stránky vlastností ovládacího prvku uživatelům, proveďte následující změny ovládacího prvku vlastnost ID makro sekce stránky (umístěné v řízení provádění souboru):

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 stránek vlastností) z 1 na 2.

Je rovněž nutné upravit soubor provádění řízení (.CPP) souboru zahrnout záhlaví (.H) soubor třídy nové stránky vlastností.

Další krok zahrnuje vytvoření dvou nových řetězec prostředky, které bude poskytovat název typu a titulek nové stránky vlastností.

Přidat nový řetězec zdroje na stránku vlastností

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

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

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

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

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

  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 pro ID a "Další stránka vlastností" pro titulek.

  6. V.Soubor CPP nové třídy vlastnosti stránky (v tomto příkladu CAddtlPropPage) změnit CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry tak, aby IDS_SAMPLE_ADDPAGE předaná 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. Upravit konstruktoru CAddtlPropPage tak, aby IDS_SAMPLE_ADDPPG_CAPTION je předána COlePropertyPage konstruktor takto:

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

Po provedení nezbytných úprav znovu vytvořte projekt a kontejner Test slouží k testování nové stránky vlastností.Viz testování vlastnosti a události s kontejnerem Test informace o přístup k testovací kontejner.

Viz také

Koncepty

Ovládací prvky MFC ActiveX