Freigeben über


Implementieren von Eigenschaftenseiten

Der ATL-Eigenschaftenseiten-Assistent ist in Visual Studio 2019 und höher nicht verfügbar.

Eigenschaftenseiten sind COM-Objekte, die die Schnittstelle IPropertyPage oder die Schnittstelle IPropertyPage2 implementieren. ATL bietet Unterstützung für die Implementierung von Eigenschaftenseiten mit dem ATL-Eigenschaftenseiten-Assistenten im Dialogfeld „Klasse hinzufügen“.

So erstellen Sie eine Eigenschaftenseite mithilfe von ATL:

  • Erstellen oder öffnen Sie ein ATL-DLL-Serverprojekt (Dynamic Link Library).

  • Öffnen Sie das Dialogfeld „Klasse hinzufügen“, und wählen Sie ATL-Eigenschaftenseite aus.

  • Stellen Sie sicher dass Ihre Eigenschaftenseite über einen Apartmentthread verfügt (da sie eine Benutzeroberfläche aufweist).

  • Legen Sie den Titel, die Beschreibung (Dokumentzeichenfolge) und die Hilfedatei fest, der bzw. die Ihrer Seite zugeordnet werden soll.

  • Fügen Sie der generierten Dialogfeldressource, die als Benutzeroberfläche Ihrer Eigenschaftenseite dienen soll, Steuerelemente hinzu.

  • Reagieren Sie auf Änderungen auf der Benutzeroberfläche der Seite, um eine Überprüfung durchzuführen, die Site der Seite zu aktualisieren oder die Objekte zu aktualisieren, die der Seite zugeordnet sind. Rufen Sie insbesondere IPropertyPageImpl::SetDirty auf, wenn ein Benutzer die Eigenschaftenseite ändert.

  • Überschreiben Sie optional die IPropertyPageImpl-Methoden mithilfe der folgenden Anweisungen.

    IPropertyPageImpl-Methode Grund für Überschreibung Hinweise
    SetObjects Sie möchten grundlegende Integritätsprüfungen für die an Ihre Seite übergebenen Objekten sowie die von ihnen unterstützten Schnittstellen ausführen. Führen Sie Ihren eigenen Code aus, bevor Sie die Implementierung der Basisklasse aufrufen. Wenn die festgelegten Objekte Ihren Erwartungen nicht entsprechen, sollten Sie den Aufruf schnellstmöglich als fehlerhaft kennzeichnen.
    Aktivieren Sie möchten die Benutzeroberfläche Ihrer Seite initialisieren (z.B. möchten Sie Dialogfeldsteuerelemente mit aktuellen Eigenschaftswerten aus Objekten festlegen, Steuerelemente dynamisch erstellen oder andere Initialisierungen durchführen). Rufen Sie die Implementierung der Basisklasse vor Ihrem Code auf, sodass die Basisklasse das Dialogfeldfenster und alle Steuerelemente erstellen kann, bevor Sie versuchen, diese zu aktualisieren.
    Anwenden Sie möchten die Eigenschafteneinstellungen überprüfen und die Objekte aktualisieren. Sie müssen die Implementierung der Basisklasse nicht aufrufen, da diese außer der Ablaufverfolgung für den Aufruf keine Aktionen ausführt.
    Deaktivieren Sie möchten fensterbezogene Elemente bereinigen. Die Implementierung der Basisklasse zerstört das Dialogfeld, das die Eigenschaftenseite repräsentiert. Wenn Sie vor der Zerstörung des Dialogfelds eine Bereinigung durchführen müssen, sollten Sie Ihren Code vor dem Aufruf der Basisklasse hinzufügen.

Eine Beispielimplementierung für Eigenschaftenseiten finden Sie unter Beispiel: Implementieren einer Eigenschaftenseite.

Hinweis

Wenn Sie auf Ihrer Eigenschaftenseite ActiveX-Steuerelemente hosten möchten, müssen Sie die Ableitung Ihrer vom Assistenten generierten Klasse ändern. Ersetzen Sie CDialogImpl<CYourClass durch CAxDialogImpl<CYourClass>> in der Liste der Basisklassen.

Siehe auch

Eigenschaftenseiten
ATLPages-Beispiel