Freigeben über


MFC-ActiveX-Steuerelemente: Hinzufügen einer anderen benutzerdefinierten Eigenschaftenseite

Gelegentlich ist ein ActiveX-Steuerelement, mehr Eigenschaften als auf einer Eigenschaftenseite angemessen eingepasst werden kann.In diesem Fall können Sie Eigenschaftenseiten aus dem ActiveX-Steuerelement hinzufügen, um diese Eigenschaften anzuzeigen.

In diesem Artikel wird das Hinzufügen neuer Eigenschaftenseiten zu einem ActiveX-Steuerelement, das bereits mindestens eine Eigenschaftenseite verfügt.Weitere Informationen über das Hinzufügen von vordefinierten Eigenschaftenseite (Schriftart, Bild oder Farbe) finden Sie im Artikel MFC-ActiveX-Steuerelemente: Verwenden von vordefinierten Eigenschaftenseite.

In den folgenden Prozeduren wird ein Beispiel activex-steuerelement-Framework, das aus dem ActiveX-Steuerelement-Assistenten erstellt wird.Daher sind die Klassennamen und die Bezeichner in diesem Beispiel eindeutig.

Weitere Informationen über die Verwendung von Eigenschaftenseiten in einem ActiveX-Steuerelement finden Sie in den folgenden Artikeln:

So fügen Sie eine neue Vorlage für Eigenschaftenseiten in das Projekt einfügen

  1. Mit dem Steuerelementprojekt geöffnet, arbeitsbereich Projekt in Ressourcenansicht öffnen.

  2. Klicken Sie mit der rechten Maustaste in der Ressourcenansicht, um das Kontextmenü zu öffnen, und klicken Sie auf Ressource hinzufügen.

  3. Erweitern Sie den Knoten Dialogfeld, und wählen Sie IDD_OLE_PROPPAGE_SMALL aus.

  4. Klicken Sie auf New, um die Ressource Ihrem Projekt hinzugefügt werden soll.

  5. Wählen Sie die neue Vorlage Eigenschaftenseiten aus, um das Eigenschaftenfenster zu aktualisieren.

  6. Geben Sie einen neuen Wert für die ID-Eigenschaft ein.In diesem Beispiel wird IDD_PROPPAGE_NEWPAGE.

  7. Klicken Sie in der Symbolleiste auf Speichern.

Um die neue Vorlage mit einer Klasse zuordnen

  1. Öffnen Sie die Klassenansicht.

  2. Klicken Sie in der Klassenansicht mit der rechten Maustaste, um das Kontextmenü zu öffnen.

  3. Klicken Sie im Kontextmenü zunächst auf Hinzufügen und dann auf Klasse hinzufügen.

    Dadurch wird das Dialogfeld Fügen Sie eine Klasse hinzu.

  4. Doppelklicken Sie auf die MFC-Klasse Vorlage.

  5. Im Feld Klassenname in MFC-Klassen-Assistent, geben Sie einen Namen für die neue Dialogfeldklasse ein.(In diesem Beispiel CAddtlPropPage).

  6. Wenn Sie den Dateinamen ändern möchten, klicken Sie auf Ändern.Geben Sie den Namen für die Implementierung und Headerdateien ein, oder übernehmen Sie den Standardnamen.

  7. Im Basisklasse Feld den Eintrag COlePropertyPage.

  8. Im Dialogfeld-ID Feld den Eintrag IDD_PROPPAGE_NEWPAGE.

  9. Klicken Sie auf Fertig stellen , um die Klasse zu erstellen.

Um den Benutzerzugriff auf dieser neuen Eigenschaftenseite zu ermöglichen, nehmen Sie dann die Änderungen am nächsten Abschnitt Makro ID der Eigenschaftenseite des Steuerelements vor (in der Steuerelements implementierungsdatei):

BEGIN_PROPPAGEIDS(CMyAxUICtrl, 2)
   PROPPAGEID(CMyAxUIPropPage::guid)
   PROPPAGEID(CAddtlPropPage::guid)
END_PROPPAGEIDS(CMyAxUICtrl)

Beachten Sie, dass Sie den zweiten Parameter des BEGIN_PROPPAGEIDS Makros (die Eigenschaftenseiten für die Anzahl) von 1 auf 2 erhöhen müssen.

Sie müssen die Datei implementierungsdatei des Steuerelements ändern (.CPP), um den Header (einzuschließen. H) der neuen Datei Eigenschaftenseiten Klasse.

Der nächste Schritt besteht darin, zwei neue Zeichenfolgenressourcen zu erstellen, die einen Typnamen und eine Beschriftung für die neue Eigenschaftenseite bereitstellen.

So fügen Sie neue Zeichenfolgenressourcen einer Eigenschaftenseite hinzufügen

  1. Mit dem Steuerelementprojekt geöffnet, offene Ressourcenansicht.

  2. Doppelklicken Sie auf den Ordner Zeichenfolgentabelle und doppelklicken Sie dann auf die vorhandene Zeichenfolgentabellen Ressource, der Sie eine Zeichenfolge hinzufügen möchten.

    Dadurch wird die Zeichenfolgentabelle in einem Fenster.

  3. Wählen Sie die leere Zeile am Ende der Zeichenfolgentabelle aus, und geben Sie den Text oder Beschriftung der Zeichenfolge ein: zusätzliche z. B. "Eigenschaftenseite".

    Dadurch wird eine String Properties Seite, die Beschriftung und ID Felder angezeigt werden.Das Beschriftung Feld enthält die Zeichenfolge, die Sie eingegeben haben.

  4. Wählen Sie im ID Feld aus, oder geben Sie eine ID für die Zeichenfolge ein.Drücken Sie die EINGABETASTE, wenn Sie beenden.

    In diesem Beispiel wird IDS_SAMPLE_ADDPAGE für den Typnamen der neuen Eigenschaftenseite.

  5. Wiederholen Sie die Schritte 3 und 4 mit IDS_SAMPLE_ADDPPG_CAPTION "und die ID für die zusätzliche Eigenschaftenseite" für die Beschriftung.

  6. Eigenschaftenseiten in der CPP-Datei der neuen Klasse (in diesem Beispiel CAddtlPropPage) Ändern Sie CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry, damit IDS_SAMPLE_ADDPAGE von AfxOleRegisterPropertyPageClass übergeben wird, wie im folgenden Beispiel dargestellt:

    BOOL CAddtlPropPage::CAddtlPropPageFactory::UpdateRegistry(BOOL bRegister)
    {
       if (bRegister)
          return AfxOleRegisterPropertyPageClass(AfxGetInstanceHandle(),
             m_clsid, IDS_SAMPLE_ADDPAGE);
       else
          return AfxOleUnregisterClass(m_clsid, NULL);
    }
    
  7. Ändern Sie den Konstruktor von CAddtlPropPage, damit IDS_SAMPLE_ADDPPG_CAPTIONCOlePropertyPage an den Konstruktor übergeben wird:

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

Nachdem Sie das notwendige Änderung des Projekts Neuerstellung durchgeführt und Testcontainer verwenden haben, um die neue Eigenschaftenseite zu testen.Informationen zum Zugreifen auf den Testcontainer finden Sie unter Testen von Eigenschaften und Ereignissen mit dem Testcontainer.

Siehe auch

Konzepte

MFC-ActiveX-Steuerelemente