MFC-ActiveX-Steuerelemente: Eigenschaftenseite
Mithilfe von Eigenschaftenseiten können Benutzer die Eigenschaften von ActiveX-Steuerelementen anzeigen und ändern. Der Zugriff auf diese Eigenschaften erfolgt über ein Dialogfeld für die Steuerelementeigenschaften. Dieses enthält eine oder mehrere Eigenschaftenseiten, die eine angepasste grafische Oberfläche zum Anzeigen und Bearbeiten der Steuerelementeigenschaften bereitstellen.
Eigenschaftenseiten für ActiveX-Steuerelemente werden auf zwei Arten angezeigt:
Wenn das Eigenschaftenverb des Steuerelements (OLEIVERB_PROPERTIES) aufgerufen wird, wird das Steuerelement ein modales Eigenschaftendialogfeld, das den Eigenschaftenseiten des Steuerelements enthält.
Der Container kann ein eigenes nicht modales Dialogfeld anzeigen, das den Eigenschaftenseiten des ausgewählten Steuerelements anzeigt.
Das Eigenschaftendialogfeld (demonstriert in der folgenden Abbildung) besteht aus einem Bereich zum Anzeigen der aktuellen, Eigenschaftenseite der Registerkarten zum Umschalten zwischen Eigenschaftenseiten und der Auflistung Schaltflächen, häufige Aufgaben wie Schließen des Projektdialogfelds ausführen, bricht alle vorgenommenen Änderungen ab, oder sofort anwendet Änderungen am ActiveX-Steuerelement.
Eigenschaften-Dialogfeld
Dieser Artikel enthält die Themen, die zur Verwendung von Eigenschaftenseiten in einem ActiveX-Steuerelement verknüpft werden. Dazu gehören:
Implementieren der Standardeigenschaftsseite eines ActiveX-Steuerelements
Hinzufügen von Steuerelementen zu einer Eigenschaftenseite
Anpassen der DoDataExchange-Funktion
Weitere Informationen zur Verwendung von Eigenschaftenseiten in einem ActiveX-Steuerelement, finden Sie:
MFC-ActiveX-Steuerelemente: Hinzufügen einer weiteren benutzerdefinierten Eigenschaftenseite
MFC-ActiveX-Steuerelemente: Verwenden von vordefinierten Eigenschaftenseiten
Informationen über die Verwendung von Eigenschaftenblättern in einer MFC-Anwendung anders ein ActiveX-Steuerelement, finden Sie unter Eigenschaftenblätter (MFC).
Implementieren der Standardeigenschafts-Seite
Wenn Sie den ActiveX-Steuerelement-Assistenten verwenden, um das Steuerelementprojekt erstellen, stellt der ActiveX-Steuerelement-Assistent eine Standardeigenschaftsseitenklasse für das Steuerelement bereit, die von COlePropertyPage-Klasse abgeleitet wird. Erstens diese Eigenschaftenseite leer, aber Sie können ein beliebiges Dialogfeld-Steuerelement oder Gruppe Steuerelemente hinzufügen. Da der ActiveX-Steuerelement-Assistent nur eine Eigenschaftenseitenklasse standardmäßig erstellt, müssen die zusätzlichen Eigenschaftenseitenklassen (auch abgeleitet von COlePropertyPage) der Klassenansicht erstellt werden. Weitere Informationen über diese Schritte, finden Sie unter MFC-ActiveX-Steuerelemente: Hinzufügen einer weiteren benutzerdefinierten Eigenschaftenseite.
Eine Eigenschaftenseite zu implementieren (in diesem Fall, ist die Standardeinstellung) ein drei Schritten statt:
So implementieren eine Eigenschaftenseite
Fügen Sie COlePropertyPage abgeleiteten Klasse z Steuerelementprojekt hinzu. Wenn das Projekt mithilfe des ActiveX-Steuerelement-Assistenten (als in diesem Fall) erstellt wurde, ist die Standardeigenschaftsseitenklasse bereits.
Verwenden Sie den Dialog-Editor, um alle Steuerelemente der Eigenschaftenseitenvorlage hinzuzufügen.
Anpassen der Funktion DoDataExchangeCOlePropertyPage abgeleiteten Klasse in den Gegenwerten zwischen dem Eigenschaftenseitensteuerelement und dem ActiveX-Steuerelement.
Beispielsweise Zwecken, mithilfe der folgenden Verfahren ein einfaches Steuerelement (mit "B"). Beispiel wurde mit dem ActiveX-Steuerelement-Assistenten erstellt und nur die vordefinierte Beschriftungseigenschaft enthält.
Hinzufügen von Steuerelementen zu einer Eigenschaftenseite
Weitere Steuerelemente einer Eigenschaftenseite hinzufügen
Öffnen Sie das Steuerelementprojekt geöffnet, offene Ressourcenansicht.
Doppelklicken Sie auf das Dialogfeld Verzeichnissymbol.
Öffnen Sie das Dialogfeld IDD_PROPPAGE_SAMPLE .
Der ActiveX-Steuerelement-Assistent fügt den Namen des Projekts am Ende Dialogfeld der ID in diesem Fall Beispiel.
Ziehen Sie das ausgewählte Steuerelement aus der Toolbox auf den Dialogfeldbereich.
Für dieses Beispiel ein Beschriftungssteuer"Beschriftung: " und ein Eingabefeldsteuerelement mit einem IDC_CAPTION Bezeichner sind ausreichend.
Klicken Sie auf der Symbolleiste auf Speichern, um die Änderungen zu speichern.
Nachdem die Benutzeroberfläche geändert wurde, müssen Sie das Bearbeitungsfeld mit der Beschriftungseigenschaft verknüpfen. Dies wird im folgenden Abschnitt durchgeführt, indem die CSamplePropPage::DoDataExchange-Funktion behandelt.
Anpassen der DoDataExchange-Funktion
Die Eigenschaftenseite CWnd::DoDataExchange-Funktion ermöglicht das Linkeigenschaftenseitenwerten mit den eigentlichen Werte von Eigenschaften im Steuerelement. Um Links erstellen, müssen Sie den entsprechenden Eigenschaftenseitenfeldern ihren jeweiligen Steuerelementeigenschaften zugeordnet sind.
Diese Zuordnungen werden mithilfe der Eigenschaftenseite DDP_-Funktionen implementiert. Die DDP_-Funktionen funktionieren wie die DDX_-Funktionen, die in Standard-MFC-Dialogfeldern, mit einer Ausnahme verwendet werden. Außer den Verweis bei einer Membervariablen, nehmen DDP_-Funktionen den Namen der Steuerelementeigenschaft. Der Folgende ist ein typischer Eintrag in der DoDataExchange-Funktion für eine Eigenschaftenseite.
DDP_Text(pDX, IDC_CAPTION, m_caption, _T("Caption"));
Diese Funktion wird die m_caption-Membervariable der Eigenschaftenseite mit der Beschriftung, mit der Funktion DDP_TEXT zu.
Nachdem Sie das Eigenschaftenseitensteuerelement einfügen haben, müssen Sie einen Link zwischen dem Eigenschaftenseitensteuerelement, IDC_CAPTION und den tatsächlichen Steuerelementeigenschaft, Beschriftung, mithilfe der DDP_Text-Funktion erstellen, wie oben beschrieben.
Eigenschaftenseiten (MFC) sind für andere Dialogfeldsteuerelementtypen, wie Kontrollkästchen, Optionsfeldern und Listenfelder verfügbar. Die folgende Tabelle zeigt den gesamten Anweisungssatz der Eigenschaftenseite DDP_-Funktionen und deren Parametern auf:
Eigenschaftenseiten-Funktionen
Funktionsname |
Verwenden Sie diese Funktion, um zu verknüpfen |
---|---|
DDP_CBIndex |
Der ausgewählten Index der Zeichenfolge in einem Kombinationsfeld mit eine Steuerelementeigenschaft. |
DDP_CBString |
Die ausgewählte Zeichenfolge in einem Kombinationsfeld mit eine Steuerelementeigenschaft. Die ausgewählte Zeichenfolge kann, mit den gleichen Buchstaben wie der Eigenschaftswert starten muss jedoch nicht, ihn vollständig übereinstimmen. |
DDP_CBStringExact |
Die ausgewählte Zeichenfolge in einem Kombinationsfeld mit eine Steuerelementeigenschaft. Die ausgewählte Zeichenfolge und der Zeichenfolgenwert der Eigenschaft müssen genau übereinstimmen. |
DDP_Check |
Ein Kontrollkästchen mit eine Steuerelementeigenschaft. |
DDP_LBIndex |
Der ausgewählten Index der Zeichenfolge in einem Listenfeld mit eine Steuerelementeigenschaft. |
DDP_LBString |
Die ausgewählte Zeichenfolge in einem Listenfeld mit eine Steuerelementeigenschaft. Die ausgewählte Zeichenfolge kann, mit den gleichen Buchstaben wie der Eigenschaftswert starten muss jedoch nicht, ihn vollständig übereinstimmen. |
DDP_LBStringExact |
Die ausgewählte Zeichenfolge in einem Listenfeld mit eine Steuerelementeigenschaft. Die ausgewählte Zeichenfolge und der Zeichenfolgenwert der Eigenschaft müssen genau übereinstimmen. |
DDP_Radio |
Ein Optionsfeld mit eine Steuerelementeigenschaft. |
DDP_Text |
Text mit eine Steuerelementeigenschaft. |