Verwenden von Eigenschaftenseiten in einer Anwendung

Führen Sie die folgenden Schritte aus, um ein Eigenschaftenblatt in Ihrer Anwendung zu verwenden:

  1. Erstellen Sie eine Dialogfeldvorlagenressource für jede Eigenschaftenseite. Denken Sie daran, dass der Benutzer möglicherweise von einer Seite zu einer anderen wechselt. Legen Sie daher jede Seite so konsistent wie möglich auf.

    Die Dialogfeldvorlagen für alle Seiten müssen nicht die gleiche Größe aufweisen. Das Framework verwendet die Größe der größten Seite, um zu bestimmen, wie viel Speicherplatz im Eigenschaftenblatt für die Eigenschaftenseiten belegt werden soll.

    Wenn Sie die Dialogvorlagenressource für eine Eigenschaftenseite erstellen, müssen Sie im Eigenschaftenblatt Dialogeigenschaften die folgenden Stile angeben:

    • Legen Sie das Bearbeitungsfeld Beschriftung auf der Seite Allgemein auf den Text fest, der auf der Registerkarte für diese Seite angezeigt werden soll.

    • Legen Sie das Listenfeld Format auf der Seite Stile auf Untergeordnetefest.

    • Legen Sie das Listenfeld Rahmen auf der Seite Stile auf Thinfest.

    • Stellen Sie sicher, dass das Kontrollkästchen Titelleiste auf der Seite Stile aktiviert ist.

    • Stellen Sie sicher, dass das Kontrollkästchen Deaktiviert auf der Seite Weitere Stile aktiviert ist.

  2. Erstellen Sie eine von CPropertyPageabgeleitete Klasse, die jeder Dialogfeldvorlage für Eigenschaftenseiten entspricht. Weitere Informationen finden Sie unter Hinzufügen einer Klasse. Wählen Sie CPropertyPage als Basisklasse aus.

  3. Erstellen Sie Membervariablen, um die Werte für diese Eigenschaftenseite zu speichern. Der Prozess zum Hinzufügen von Membervariablen zu einer Eigenschaftenseite entspricht genau dem Hinzufügen von Membervariablen zu einem Dialogfeld, da eine Eigenschaftenseite ein spezialisiertes Dialogfeld ist. Weitere Informationen finden Sie unter Definieren von Membervariablen für Dialogsteuerelemente.

  4. Erstellen Sie ein CPropertySheet-Objekt im Quellcode. Normalerweise erstellen Sie das CPropertySheet -Objekt im Handler für den Befehl, der das Eigenschaftenblatt anzeigt. Dieses Objekt stellt das gesamte Eigenschaftenblatt dar. Wenn Sie ein modales Eigenschaftenblatt mit der DoModal-Funktion erstellen, stellt das Framework standardmäßig drei Befehlsschaltflächen zur Verfügung: OK, Abbrechen und Übernehmen. Das Framework erstellt keine Befehlsschaltflächen für moduslose Eigenschaftenblätter, die mit der Create-Funktion erstellt wurden. Sie müssen keine Klasse von ableiten, CPropertySheet es sei denn, Sie möchten entweder andere Steuerelemente (z. B. ein Vorschaufenster) hinzufügen oder ein modusloses Eigenschaftenblatt anzeigen. Dieser Schritt ist für moduslose Eigenschaftenblätter erforderlich, da sie keine Standardsteuerelemente enthalten, die zum Schließen des Eigenschaftenblatts verwendet werden können.

  5. Gehen Sie für jede Seite, die dem Eigenschaftenblatt hinzugefügt werden soll, wie folgt vor:

    • Erstellen Sie ein -Objekt für jede CPropertyPage von abgeleitete Klasse, die Sie zuvor in diesem Prozess erstellt haben.

    • Rufen Sie für jede Seite CPropertySheet::AddPage auf.

    In der Regel erstellt das Objekt, das das erstellt, CPropertySheet auch die CPropertyPage -Objekte in diesem Schritt. Wenn Sie jedoch eine von CPropertySheet abgeleitete Klasse implementieren, können Sie die Objekte in das -Objekt einbetten CPropertyPage und für jede Seite aus dem von CPropertySheetAddPageCPropertySheet abgeleiteten Klassenkonstruktor aufrufen. AddPage fügt das CPropertyPage -Objekt der Seitenliste des Eigenschaftenblatts hinzu, erstellt jedoch nicht das Fenster für diese Seite. Daher ist es nicht erforderlich, auf die Erstellung des Eigenschaftenblattfensters zu warten, um AddPage aufzurufen. Sie können über den AddPage Konstruktor des Eigenschaftenblatts aufrufen.

    Wenn ein Eigenschaftenblatt mehr Registerkarten aufweist, als in eine einzelne Zeile des Eigenschaftenblatts passen, werden die Registerkarten standardmäßig in mehreren Zeilen gestapelt. Um das Stapeln zu deaktivieren, rufen Sie CPropertySheet::EnableStackedTabs auf, wobei der Parameter auf FALSE festgelegt ist. Sie müssen EnableStackedTabs aufrufen, wenn Sie das Eigenschaftenblatt erstellen.

  6. Rufen Sie CPropertySheet::D oModal oder Create auf, um das Eigenschaftenblatt anzuzeigen. Rufen Sie DoModal auf, um ein Eigenschaftenblatt als modales Dialogfeld zu erstellen. Rufen Sie Erstellen auf, um das Eigenschaftenblatt als modusloses Dialogfeld zu erstellen.

  7. Exchange Daten zwischen Eigenschaftenseiten und dem Besitzer des Eigenschaftenblatts. Dies wird im Artikel Austauschen von Datenerläutert.

Ein Beispiel für die Verwendung von Eigenschaftenblättern finden Sie im MFC General Sample PROPDLG.

Weitere Informationen

Eigenschaftenblätter