MFC-ActiveX-Steuerelemente: Eigenschaftenseite

Eigenschaftenseiten ermöglichen einem ActiveX-Steuerelementbenutzer das Anzeigen und Ändern von ActiveX-Steuerelementeigenschaften. Auf diese Eigenschaften wird zugegriffen, indem sie ein Dialogfeld mit Steuerelementeigenschaften aufrufen, das eine oder mehrere Eigenschaftenseiten enthält, die eine angepasste, grafische Benutzeroberfläche zum Anzeigen und Bearbeiten der Steuerelementeigenschaften bereitstellen.

Wichtig

ActiveX ist eine Legacytechnologie, die nicht für neue Software verwendet werden sollte. Weitere Informationen zu modernen Technologien, die ActiveX ablösen, finden Sie unter ActiveX-Steuerelemente.

Eigenschaftenseiten von ActiveX-Steuerelementen werden auf zwei Arten angezeigt:

  • Wenn das Eigenschaftenverb (OLEIVERB_PROPERTIES) des Steuerelements aufgerufen wird, öffnet das Steuerelement ein modales Eigenschaftendialogfeld, das die Eigenschaftenseiten des Steuerelements enthält.

  • Der Container kann ein eigenes Dialogfeld ohne Modus anzeigen, in dem die Eigenschaftenseiten des ausgewählten Steuerelements angezeigt werden.

Das Dialogfeld "Eigenschaften" (in der folgenden Abbildung dargestellt) besteht aus einem Bereich zum Anzeigen der aktuellen Eigenschaftenseite, Registerkarten zum Wechseln zwischen Eigenschaftenseiten und einer Sammlung von Schaltflächen, die allgemeine Aufgaben ausführen, z. B. das Schließen des Dialogfelds "Eigenschaftenseite", das Abbrechen aller vorgenommenen Änderungen oder das sofortige Anwenden von Änderungen auf das ActiveX-Steuerelement.

Properties dialog box for Circ3.
Dialogfeld "Eigenschaften"

In diesem Artikel werden Themen behandelt, die sich auf die Verwendung von Eigenschaftenseiten in einem ActiveX-Steuerelement beziehen. Dazu gehören:

In den folgenden Artikeln finden Sie Details zur Verwendung von Eigenschaftenseiten in einem ActiveX-Steuerelement:

Informationen zur Verwendung von Eigenschaftenblättern in einer anderen MFC-Anwendung als einem ActiveX-Steuerelement finden Sie unter Property Sheets.

Implementieren der Standardeigenschaftsseite

Wenn Sie den ActiveX-Steuerelement-Assistenten zum Erstellen Ihres Steuerelementprojekts verwenden, stellt der ActiveX-Steuerelement-Assistent eine Standardeigenschaftenseitenklasse für das steuerelement bereit, das von der COlePropertyPage-Klasse abgeleitet ist. Anfangs ist diese Eigenschaftenseite leer, Sie können jedoch ein beliebiges Dialogfeld-Steuerelement oder eine Gruppe von Steuerelementen hinzufügen. Da der ActiveX-Steuerelement-Assistent standardmäßig nur eine Eigenschaftenseitenklasse erstellt, müssen zusätzliche Eigenschaftenseitenklassen (auch abgeleitet von COlePropertyPage) mithilfe der Klassenansicht erstellt werden. Weitere Informationen zu diesem Verfahren finden Sie unter MFC ActiveX-Steuerelemente: Hinzufügen einer weiteren benutzerdefinierten Eigenschaftenseite.

Das Implementieren einer Eigenschaftenseite (in diesem Fall der Standardwert) ist ein dreistufiger Prozess:

So implementieren Sie eine Eigenschaftenseite

  1. Fügen Sie dem Steuerelementprojekt eine abgeleitete COlePropertyPageKlasse hinzu. Wenn das Projekt mit dem ActiveX-Steuerelement-Assistenten erstellt wurde (wie in diesem Fall), ist die Standardeigenschaftenseitenklasse bereits vorhanden.

  2. Verwenden Sie den Dialogfeld-Editor, um der Eigenschaftenseitenvorlage steuerelemente hinzuzufügen.

  3. Passen Sie die DoDataExchange Funktion der COlePropertyPageabgeleiteten Klasse an, um Werte zwischen dem Eigenschaftenseitensteuerelement und dem ActiveX-Steuerelement auszutauschen.

Die folgenden Verfahren verwenden z. B. ein einfaches Steuerelement (mit dem Namen "Sample"). Beispiel wurde mit dem ActiveX-Steuerelement-Assistenten erstellt und enthält nur die Stock Caption-Eigenschaft.

Hinzufügen von Steuerelementen zu einer Eigenschaftenseite

So fügen Sie einer Eigenschaftenseite Steuerelemente hinzu

  1. Öffnen Sie beim geöffneten Steuerelementprojekt die Ressourcenansicht.

  2. Doppelklicken Sie auf das Dialogfeldverzeichnissymbol .

  3. Öffnen sie das Dialogfeld IDD_PROPPAGE_SAMPLE.

    Der ActiveX-Steuerelement-Assistent fügt den Namen des Projekts an das Ende der Dialogfeld-ID an, in diesem Fall Beispiel.

  4. Ziehen Sie das ausgewählte Steuerelement aus der Toolbox in den Dialogfeldbereich, und legen Sie es ab.

  5. In diesem Beispiel reicht ein Textbeschriftungssteuerelement "Caption :" und ein Bearbeitungsfeld-Steuerelement mit einem IDC_CAPTION Bezeichner aus.

  6. Klicken Sie auf der Symbolleiste auf " Speichern ", um Ihre Änderungen zu speichern.

Nachdem die Benutzeroberfläche geändert wurde, müssen Sie das Bearbeitungsfeld mit der Caption-Eigenschaft verknüpfen. Dies erfolgt im folgenden Abschnitt durch Bearbeiten der CSamplePropPage::DoDataExchange Funktion.

Anpassen der DoDataExchange-Funktion

Mit der Eigenschaftsseite "CWnd::D oDataExchange "-Funktion können Sie Eigenschaftenseitenwerte mit den tatsächlichen Werten von Eigenschaften im Steuerelement verknüpfen. Um Verknüpfungen herzustellen, müssen Sie die entsprechenden Eigenschaftenseitenfelder den jeweiligen Steuerelementeigenschaften zuordnen.

Diese Zuordnungen werden mithilfe der Eigenschaftenseite DDP_ Funktionen implementiert. Die DDP_ Funktionen funktionieren wie die DDX_ Funktionen, die in standard-MFC-Dialogfeldern verwendet werden, mit einer Ausnahme. Neben dem Verweis auf eine Membervariable verwenden DDP_ Funktionen den Namen der Steuerelementeigenschaft. Im Folgenden finden Sie einen typischen Eintrag in der DoDataExchange Funktion für eine Eigenschaftenseite.

DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));

Diese Funktion ordnet die m_Untertitel Membervariable der Eigenschaftenseite der Beschriftung mithilfe der DDP_TEXT Funktion zu.

Nachdem Sie das Eigenschaftenseitensteuerelement eingefügt haben, müssen Sie mithilfe der DDP_Text oben beschriebenen Funktion eine Verknüpfung zwischen dem Eigenschaftenseitensteuerelement, IDC_CAPTION und der tatsächlichen Steuerelementeigenschaft "Caption" herstellen.

Eigenschaftenseiten sind für andere Dialogfeldsteuerelementtypen verfügbar, z. B. Kontrollkästchen, Optionsfelder und Listenfelder. In der folgenden Tabelle sind die gesamten Eigenschaftenseiten DDP_ Funktionen und deren Zwecke aufgeführt:

Eigenschaftenseitenfunktionen

Funktionsname Verwenden Sie diese Funktion, um eine Verknüpfung zu erstellen.
DDP_CBIndex Der Index der ausgewählten Zeichenfolge in einem Kombinationsfeld mit einer Steuerelementeigenschaft.
DDP_CBString Die ausgewählte Zeichenfolge in einem Kombinationsfeld mit einer Steuerelementeigenschaft. Die ausgewählte Zeichenfolge kann mit denselben Buchstaben wie der Wert der Eigenschaft beginnen, muss aber nicht vollständig übereinstimmen.
DDP_CBStringExact Die ausgewählte Zeichenfolge in einem Kombinationsfeld mit einer Steuerelementeigenschaft. Die ausgewählte Zeichenfolge und der Zeichenfolgenwert der Eigenschaft müssen exakt übereinstimmen.
DDP_Check Ein Kontrollkästchen mit einer Steuerelementeigenschaft.
DDP_LBIndex Der Index der ausgewählten Zeichenfolge in einem Listenfeld mit einer Steuerelementeigenschaft.
DDP_LBString Die ausgewählte Zeichenfolge in einem Listenfeld mit einer Steuerelementeigenschaft. Die ausgewählte Zeichenfolge kann mit denselben Buchstaben wie der Wert der Eigenschaft beginnen, muss aber nicht vollständig übereinstimmen.
DDP_LBStringExact Die ausgewählte Zeichenfolge in einem Listenfeld mit einer Steuerelementeigenschaft. Die ausgewählte Zeichenfolge und der Zeichenfolgenwert der Eigenschaft müssen exakt übereinstimmen.
DDP_Radio Ein Optionsfeld mit einer Steuerelementeigenschaft.
DDP_Text Text mit einer Steuerelementeigenschaft.

Siehe auch

MFC ActiveX Controls (MFC-ActiveX-Steuerelemente)
COlePropertyPage-Klasse