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.
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:
MFC-ActiveX-Steuerelemente: Hinzufügen einer weiteren benutzerdefinierten Eigenschaftenseite
MFC-ActiveX-Steuerelemente: Verwenden von vordefinierten Eigenschaftenseiten
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
Fügen Sie dem Steuerelementprojekt eine abgeleitete
COlePropertyPage
Klasse hinzu. Wenn das Projekt mit dem ActiveX-Steuerelement-Assistenten erstellt wurde (wie in diesem Fall), ist die Standardeigenschaftenseitenklasse bereits vorhanden.Verwenden Sie den Dialogfeld-Editor, um der Eigenschaftenseitenvorlage steuerelemente hinzuzufügen.
Passen Sie die
DoDataExchange
Funktion derCOlePropertyPage
abgeleiteten 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
Öffnen Sie beim geöffneten Steuerelementprojekt die Ressourcenansicht.
Doppelklicken Sie auf das Dialogfeldverzeichnissymbol .
Ö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.
Ziehen Sie das ausgewählte Steuerelement aus der Toolbox in den Dialogfeldbereich, und legen Sie es ab.
In diesem Beispiel reicht ein Textbeschriftungssteuerelement "Caption :" und ein Bearbeitungsfeld-Steuerelement mit einem IDC_CAPTION Bezeichner aus.
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