Freigeben über


CMFCPropertySheet-Klasse

Die Klasse CMFCPropertySheet unterstützt ein Eigenschaftenblatt, in dem jede Eigenschaftenseite durch eine Seitenregisterkarte, eine Symbolleisten-Schaltfläche, einen Strukturansichtsknoten oder ein Listenelement angegeben wird.

Syntax

class CMFCPropertySheet : public CPropertySheet

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCPropertySheet::CMFCPropertySheet Erstellt ein CMFCPropertySheet-Objekt.
CMFCPropertySheet::~CMFCPropertySheet Destruktor.

Öffentliche Methoden

Name Beschreibung
CMFCPropertySheet::AddPage Fügt dem Eigenschaftsblatt eine Seite hinzu.
CMFCPropertySheet::AddPageToTree Fügt dem Struktursteuerelement eine neue Eigenschaftsseite hinzu.
CMFCPropertySheet::AddTreeCategory Fügt dem Struktursteuerelement einen neuen Knoten hinzu.
CMFCPropertySheet::EnablePageHeader Reserviert oben auf jeder Seite Platz, um einen benutzerdefinierten Header zu zeichnen.
CMFCPropertySheet::GetHeaderHeight Ruft die Höhe des aktuellen Headers ab.
CMFCPropertySheet::GetLook Ruft einen Enumerationswert ab, der das Erscheinungsbild des aktuellen Eigenschaftsblatts angibt.
CMFCPropertySheet::GetNavBarWidth Ruft die Breite der Navigationsleiste in Pixel ab.
CMFCPropertySheet::GetTab Ruft das interne Registerkarten-Steuerelementobjekt ab, das das aktuelle Eigenschaftsblatt-Steuerelement unterstützt.
CMFCPropertySheet::GetThisClass Wird vom Framework verwendet, um einen Zeiger auf das CRuntimeClass -Objekt abzurufen, das diesem Klassentyp zugeordnet ist.
CMFCPropertySheet::InitNavigationControl Initialisiert das Erscheinungsbild des aktuellen Eigenschaftsblatt-Steuerelements.
CMFCPropertySheet::OnActivatePage Wird durch das Framework aufgerufen, wenn eine Eigenschaftsseite aktiviert wird.
CMFCPropertySheet::OnDrawPageHeader Wird durch das Framework aufgerufen, um einen benutzerdefinierten Eigenschaftsseitenheader zu zeichnen.
CMFCPropertySheet::OnInitDialog Behandelt die WM_INITDIALOG Nachricht. (Außerkraftsetzungen CPropertySheet::OnInitDialog.)
CMFCPropertySheet::OnRemoveTreePage Wird durch das Framework aufgerufen, um eine Eigenschaftsseite aus einem Struktursteuerelement zu entfernen.
CMFCPropertySheet::PreTranslateMessage Übersetzt Fensternachrichten, bevor sie an die Windows-Funktionen TranslateMessage und DispatchMessage verteilt werden. (Überschreibt CPropertySheet::PreTranslateMessage.)
CMFCPropertySheet::RemoveCategory Entfernt einen Knoten aus dem Struktursteuerelement.
CMFCPropertySheet::RemovePage Entfernt eine Eigenschaftenseite aus dem Eigenschaftenblatt.
CMFCPropertySheet::SetIconsList Gibt die Liste der Bilder an, die in der Navigationssteuerung des Outlook-Bereichs verwendet werden.
CMFCPropertySheet::SetLook Gibt das Erscheinungsbild des Eigenschaftsblatts an.

Hinweise

Die Klasse CMFCPropertySheet stellt Eigenschaftsblätter dar, auch als „Dialogfelder im Registerformat“ bezeichnet. Die CMFCPropertySheet-Klasse kann eine Eigenschaftsseite in einer Vielzahl von Möglichkeiten anzeigen.

Führen Sie die folgenden Schritte aus, um die CMFCPropertySheet-Klasse in Ihrer Anwendung zu verwenden:

  1. Leiten Sie eine Klasse aus der CMFCPropertySheet-Klasse ab, und benennen Sie die Klasse, beispielsweise als „CMyPropertySheet“.

  2. Erstellen Sie ein CMFCPropertyPage-Objekt für jede Eigenschaftenseite.

  3. Rufen Sie die CMFCPropertySheet::SetLook-Methode im CMyPropertySheet-Konstruktor auf. Ein Parameter dieser Methode gibt an, dass die Eigenschaftsseiten entweder als Registerkarten oben oder links im Eigenschaftsblatt oder als Registerkarten im Stile eines Microsoft OneNote-Eigenschaftsblatts oder als Schaltflächen auf einem Microsoft Outlook-Symbolleistensteuerelement oder als Knoten in einem Gesamtstruktursteuerelement oder als eine Liste von Elementen auf der linken Seite des Eigenschaftsblatt angezeigt werden sollen.

  4. Wenn Sie ein Eigenschaftenblatt im Stil einer Microsoft Outlook-Symbolleiste erstellen, rufen Sie die CMFCPropertySheet::SetIconsList-Methode auf, um eine Bildliste zusammen mit den Eigenschaftenseiten zuzuordnen.

  5. Rufen Sie die CMFCPropertySheet::AddPage-Methode für jede Eigenschaftenseite auf.

  6. Erstellen Sie ein CMFCPropertySheet-Steuerelement, und rufen Sie dessen DoModal-Methode auf.

Abbildungen

In der folgenden Abbildung wird ein Eigenschaftsblatt gezeigt, das im Stile einer eingebetteten Microsoft Outlook-Symbolleiste vorliegt. Die Outlook-Symbolleiste wird auf der linken Seite des Eigenschaftenfensters angezeigt.

CMFCPropertySheet color controls.

Die folgende Abbildung zeigt ein Eigenschaftenblatt, das ein CMFCPropertyGridCtrl Class -Objekt enthält. Bei diesem Objekt handelt es sich um ein Eigenschaftsblatt im Stile eines Eigenschaftsblatts für allgemeine Standardsteuerelemente.

CMFCPropertySheet list and property controls.

In der folgenden Abbildung wird ein Eigenschaftsblatt gezeigt, das im Stile eines Struktursteuerelements vorliegt.

Property Tree.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CPropertySheet

CMFCPropertySheet

Anforderungen

Header: afxpropertysheet.h

CMFCPropertySheet::AddPage

Fügt dem Eigenschaftsblatt eine Seite hinzu.

void AddPage(CPropertyPage* pPage);

Parameter

pPage
[in] Zeiger auf ein Seitenobjekt. Dieser Parameter darf nicht NULL sein.

Hinweise

Mit dieser Methode wird die angegebene Eigenschaftenseite als ganz rechts im Eigenschaftenblatt hinzugefügt. Verwenden Sie daher diese Methode, um Seiten in der Reihenfolge von links nach rechts hinzuzufügen.

Wenn sich das Eigenschaftenblatt im Stil von Microsoft Outlook befindet, zeigt das Framework links neben dem Eigenschaftenblatt eine Liste mit Navigationsschaltflächen an. Nachdem diese Methode eine Eigenschaftenseite hinzugefügt hat, wird der Liste eine entsprechende Schaltfläche hinzugefügt. Um eine Eigenschaftenseite anzuzeigen, klicken Sie auf die entsprechende Schaltfläche. Weitere Informationen zu Formatvorlagen von Eigenschaftenblättern finden Sie unter CMFCPropertySheet::SetLook.

CMFCPropertySheet::AddPageToTree

Fügt dem Struktursteuerelement eine neue Eigenschaftsseite hinzu.

void AddPageToTree(
    CMFCPropertySheetCategoryInfo* pCategory,
    CMFCPropertyPage* pPage,
    int nIconNum=-1,
    int nSelIconNum=-1);

Parameter

pCategory
[in] Zeigen Sie auf einen übergeordneten Strukturknoten oder NULL, um die angegebene Seite dem Knoten der obersten Ebene zuzuordnen. Rufen Sie die CMFCPropertySheet::AddTreeCategory-Methode auf, um diesen Zeiger abzurufen.

pPage
[in] Zeiger auf ein Eigenschaftenseitenobjekt.

nIconNum
[in] Nullbasierter Index eines Symbols oder -1, wenn kein Symbol verwendet wird. Das Symbol wird neben der Eigenschaftenseite des Struktursteuerelements angezeigt, wenn die Seite nicht ausgewählt ist. Der Standardwert ist -1.

nSelIconNum
[in] Nullbasierter Index eines Symbols oder -1, wenn kein Symbol verwendet wird. Das Symbol wird neben der Eigenschaftenseite des Struktursteuerelements angezeigt, wenn die Seite ausgewählt ist. Der Standardwert ist -1.

Hinweise

Diese Methode fügt eine Eigenschaftenseite als Blatt eines Baumsteuerelements hinzu. Um eine Eigenschaftenseite hinzuzufügen, erstellen Sie ein CMFCPropertySheet Objekt, rufen Sie die CMFCPropertySheet::SetLook-Methode auf, und CMFCPropertySheet::PropSheetLook_Tree verwenden Sie dann diese Methode, um die Eigenschaftenseite hinzuzufügen.

CMFCPropertySheet::AddTreeCategory

Fügt dem Struktursteuerelement einen neuen Knoten hinzu.

CMFCPropertySheetCategoryInfo* AddTreeCategory(
    LPCTSTR lpszLabel,
    int nIconNum=-1,
    int nSelectedIconNum=-1,
    const CMFCPropertySheetCategoryInfo* pParentCategory=NULL);

Parameter

lpszLabel
[in] Der Name des Knotens.

nIconNum
[in] Nullbasierter Index eines Symbols oder -1, wenn kein Symbol verwendet wird. Das Symbol wird neben der Eigenschaftenseite des Struktursteuerelements angezeigt, wenn die Seite nicht ausgewählt ist. Der Standardwert ist -1.

nSelectedIconNum
[in] Nullbasierter Index eines Symbols oder -1, wenn kein Symbol verwendet wird. Das Symbol wird neben der Eigenschaftenseite des Struktursteuerelements angezeigt, wenn die Seite ausgewählt ist. Der Standardwert ist -1.

pParentCategory
[in] Zeigen Sie auf einen übergeordneten Strukturknoten oder NULL, um die angegebene Seite dem Knoten der obersten Ebene zuzuordnen. Legen Sie diesen Parameter mit der CMFCPropertySheet::AddTreeCategory-Methode fest.

Rückgabewert

Ein Zeiger auf den neuen Knoten im Struktursteuerelement.

Hinweise

Verwenden Sie diese Methode, um dem Struktursteuerelement einen neuen Knoten hinzuzufügen, der auch als Kategorie bezeichnet wird. Um einen Knoten hinzuzufügen, erstellen Sie ein CMFCPropertySheet Objekt, rufen Sie die CMFCPropertySheet::SetLook-Methode auf, wobei der Look-Parameter auf CMFCPropertySheet::PropSheetLook_Tree festgelegt ist, und verwenden Sie dann diese Methode, um den Knoten hinzuzufügen.

Verwenden Sie den Rückgabewert dieser Methode in nachfolgenden Aufrufen von CMFCPropertySheet::AddPageToTree und CMFCPropertySheet::AddTreeCategory.

CMFCPropertySheet::CMFCPropertySheet

Erstellt ein CMFCPropertySheet-Objekt.

CMFCPropertySheet(
    UINT nIDCaption,
    CWnd* pParentWnd=NULL,
    UINT iSelectPage=0);

CMFCPropertySheet(
    LPCTSTR pszCaption,
    CWnd* pParentWnd=NULL,
    UINT iSelectPage=0);

Parameter

pszCaption
[in] Eine Zeichenfolge, die das Eigenschaftenblatt Untertitel enthält. Lässt keine NULL-Werte zu.

nIDCaption
[in] Eine Ressourcen-ID, die das Eigenschaftenblatt Untertitel enthält.

pParentWnd
[in] Zeigen Sie auf das übergeordnete Fenster des Eigenschaftenblatts oder NULL, wenn das übergeordnete Fenster das Standard Fenster der Anwendung ist. Der Standardwert ist NULL.

iSelectPage
[in] Der nullbasierte Index der obersten Eigenschaftenseite. Der Standardwert ist 0.

Hinweise

Weitere Informationen finden Sie unter den Parametern für den CPropertySheet::CPropertySheet-Konstruktor .

CMFCPropertySheet::EnablePageHeader

Reserviert oben auf jeder Seite Platz, um einen benutzerdefinierten Header zu zeichnen.

void EnablePageHeader(int nHeaderHeight);

Parameter

nHeaderHeight
[in] Die Höhe der Kopfzeile in Pixel.

Hinweise

Um den Wert des nHeaderHeight-Parameters zum Zeichnen eines benutzerdefinierten Headers zu verwenden, überschreiben Sie die CMFCPropertySheet::OnDrawPageHeader-Methode .

CMFCPropertySheet::GetHeaderHeight

Ruft die Höhe des aktuellen Headers ab.

int GetHeaderHeight() const;

Rückgabewert

Die Höhe der Kopfzeile in Pixel.

Hinweise

Rufen Sie die CMFCPropertySheet::EnablePageHeader-Methode auf, bevor Sie diese Methode aufrufen.

CMFCPropertySheet::GetLook

Ruft einen Enumerationswert ab, der das Erscheinungsbild des aktuellen Eigenschaftsblatts angibt.

PropSheetLook GetLook() const;

Rückgabewert

Einer der Enumerationswerte, die die Darstellung des Eigenschaftenblatts angibt. Eine Liste möglicher Werte finden Sie in der Enumerationstabelle im Abschnitt "Hinweise" von CMFCPropertySheet::SetLook.

CMFCPropertySheet::GetNavBarWidth

Ruft die Breite der Navigationsleiste ab.

int GetNavBarWidth() const;

Rückgabewert

Die Breite der Navigationsleiste in Pixel.

CMFCPropertySheet::GetTab

Ruft das interne Registerkarten-Steuerelementobjekt ab, das das aktuelle Eigenschaftsblatt-Steuerelement unterstützt.

CMFCTabCtrl& GetTab() const;

Rückgabewert

Ein internes Registersteuerelementobjekt.

Hinweise

Sie können ein Eigenschaftenblatt so festlegen, dass es in verschiedenen Formatvorlagen angezeigt wird, z. B. in einem Struktursteuerelement, einer Liste von Navigationsschaltflächen oder einer Gruppe von Seiten im Registerkartenformat.

Rufen Sie vor dem Aufrufen dieser Methode die CMFCPropertySheet::SetLook-Methode auf, um die Darstellung des Eigenschaftenblatt-Steuerelements festzulegen. Rufen Sie dann die CMFCPropertySheet::InitNavigationControl-Methode auf, um das interne Registersteuerelementobjekt zu initialisieren. Verwenden Sie diese Methode, um das Registersteuerelementobjekt abzurufen, und verwenden Sie dann dieses Objekt, um mit den Registerkarten im Eigenschaftenblatt zu arbeiten.

Diese Methode bestätigt im Debugmodus, wenn das Eigenschaftenblattsteuerelement nicht so festgelegt ist, dass es im Stil von Microsoft OneNote angezeigt wird.

CMFCPropertySheet::InitNavigationControl

Initialisiert das Erscheinungsbild des aktuellen Eigenschaftsblatt-Steuerelements.

virtual CWnd* InitNavigationControl();

Rückgabewert

Ein Zeiger auf das Fenster des Eigenschaftenblatt-Steuerelements.

Hinweise

Ein Eigenschaftenblatt-Steuerelement kann in verschiedenen Formularen angezeigt werden, z. B. einer Gruppe von Registerkartenseiten, einem Struktursteuerelement oder einer Liste von Navigationsschaltflächen. Verwenden Sie die CMFCPropertySheet::SetLook-Methode , um die Darstellung des Eigenschaftenblatt-Steuerelements anzugeben.

CMFCPropertySheet::OnActivatePage

Wird durch das Framework aufgerufen, wenn eine Eigenschaftsseite aktiviert wird.

virtual void OnActivatePage(CPropertyPage* pPage);

Parameter

pPage
[in] Zeigen Sie auf ein Eigenschaftenseitenobjekt, das die aktivierte Eigenschaftenseite darstellt.

Hinweise

Standardmäßig stellt diese Methode sicher, dass die aktivierte Eigenschaftenseite in die Ansicht gescrollt wird. Wenn die Formatvorlage des aktuellen Eigenschaftenblatts einen Microsoft Outlook-Bereich enthält, legt diese Methode die entsprechende Outlook-Schaltfläche auf den aktivierten Zustand fest.

CMFCPropertySheet::OnDrawPageHeader

Wird vom Framework aufgerufen, um die Kopfzeile für eine benutzerdefinierte Eigenschaftenseite zu zeichnen.

virtual void OnDrawPageHeader(
    CDC* pDC,
    int nPage,
    CRect rectHeader);

Parameter

pDC
[in] Zeiger auf einen Gerätekontext.

nPage
[in] Die nullbasierte Eigenschaftenseitenzahl.

rectHeader
[in] Ein umgebendes Rechteck, das angibt, wo die Kopfzeile gezeichnet werden soll.

Hinweise

Standardmäßig hat diese Methode keine Auswirkungen. Wenn Sie diese Methode außer Kraft setzen, rufen Sie die CMFCPropertySheet::EnablePageHeader-Methode auf, bevor das Framework diese Methode aufruft.

CMFCPropertySheet::OnRemoveTreePage

Wird durch das Framework aufgerufen, um eine Eigenschaftsseite aus einem Struktursteuerelement zu entfernen.

virtual BOOL OnRemoveTreePage(CPropertyPage* pPage);

Parameter

pPage
[in] Zeigen Sie auf ein Eigenschaftenseitenobjekt, das die zu entfernende Eigenschaftsseite darstellt.

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

CMFCPropertySheet::RemoveCategory

Entfernt einen Knoten aus dem Struktursteuerelement.

void RemoveCategory(CMFCPropertySheetCategoryInfo* pCategory);

Parameter

pCategory
[in] Zeigen Sie auf eine Zu entfernende Kategorie (Knoten).

Hinweise

Verwenden Sie diese Methode, um einen Knoten, der auch als Kategorie bezeichnet wird, aus einem Struktursteuerelement zu entfernen. Verwenden Sie die CMFCPropertySheet::AddTreeCategory-Methode , um einem Struktursteuerelement einen Knoten hinzuzufügen.

CMFCPropertySheet::RemovePage

Entfernt eine Eigenschaftenseite aus dem Eigenschaftenblatt.

void RemovePage(CPropertyPage* pPage);
void RemovePage(int nPage);

Parameter

pPage
[in] Zeiger auf Eigenschaftenseitenobjekt, das die zu entfernende Eigenschaftsseite darstellt. Lässt keine NULL-Werte zu.

nPage
[in] Nullbasierter Index der zu entfernenden Seite.

Hinweise

Mit dieser Methode wird die angegebene Eigenschaftenseite entfernt und das zugeordnete Fenster zerstört. Das Eigenschaftenseitenobjekt, das der pPage-Parameter angibt, wird erst zerstört, wenn das CMFCPropertySheet-Fenster geschlossen wird.

CMFCPropertySheet::SetIconsList

Gibt die Liste der Bilder an, die in der Navigationssteuerung des Outlook-Bereichs verwendet werden.

BOOL SetIconsList(
    UINT uiImageListResID,
    int cx,
    COLORREF clrTransparent=RGB(255, 0, 255));
void SetIconsList(HIMAGELIST hIcons);

Parameter

uiImageListResID
[in] Die Ressourcen-ID einer Bildliste.

Cx
[in] Die Breite in Pixeln von Symbolen in der Bildliste.

clrTransparent
[in] Die transparente Bildfarbe. Die Teile des Bilds, die diese Farbe sind, sind transparent. Der Standardwert ist die Farbe Magenta, RGB(255,0,255).

hIcons
[in] Ein Handle zu einer vorhandenen Bildliste.

Rückgabewert

Bei der ersten Methodenüberladungssyntax TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Wenn sich das Eigenschaftenblatt im Stil von Microsoft Outlook befindet, zeigt das Framework eine Liste der Navigationsschaltflächen an, die als Outlook-Bereichssteuerelement bezeichnet werden, links neben dem Eigenschaftenblatt. Verwenden Sie diese Methode, um die Bildliste festzulegen, die vom Outlook-Bereichssteuerelement verwendet werden soll.

Weitere Informationen zu den Methoden, die diese Methode unterstützen, finden Sie unter CImageList::Create and CImageList::Add. Weitere Informationen zum Festlegen der Formatvorlage eines Eigenschaftenblatts finden Sie unter CMFCPropertySheet::SetLook.

CMFCPropertySheet::SetLook

Gibt das Erscheinungsbild des Eigenschaftsblatts an.

void SetLook(
    PropSheetLook look,
    int nNavControlWidth=100);

Parameter

Blick
[in] Einer der Enumerationswerte, die die Darstellung des Eigenschaftenblatts angibt. Die Standardformatvorlage für ein Eigenschaftenblatt lautet CMFCPropertySheet::PropSheetLook_Tabs. Weitere Informationen finden Sie in der Tabelle im Abschnitt "Hinweise" dieses Themas.

nNavControlWidth
[in] Die Breite des Navigationssteuerelements in Pixeln. Der Standardwert ist 100.

Hinweise

Um ein Eigenschaftenblatt in einer anderen Formatvorlage als der Standardformatvorlage anzuzeigen, rufen Sie diese Methode auf, bevor Sie das Eigenschaftenblattfenster erstellen.

In der folgenden Tabelle sind die Enumerationswerte aufgeführt, die im Look-Parameter angegeben werden können.

Wert Beschreibung
CMFCPropertySheet::PropSheetLook_Tabs (Standard) Zeigt eine Registerkarte für jede Eigenschaftenseite an. Registerkarten werden oben im Eigenschaftenblatt angezeigt und gestapelt, wenn mehr Registerkarten vorhanden sind, als in eine einzelne Zeile passen.
CMFCPropertySheet::PropSheetLook_OutlookBar Zeigt eine Liste der Navigationsschaltflächen im Stil der Microsoft Outlook-Leiste auf der linken Seite des Eigenschaftenblatts an. Jede Schaltfläche in der Liste entspricht einer Eigenschaftenseite. Das Framework zeigt Bildlaufpfeile an, wenn mehr Schaltflächen vorhanden sind, als in den sichtbaren Bereich der Liste passen.
CMFCPropertySheet::PropSheetLook_Tree Zeigt ein Struktursteuerelement auf der linken Seite des Eigenschaftenblatts an. Jeder übergeordnete oder untergeordnete Knoten des Struktursteuerelements entspricht einer Eigenschaftenseite. Das Framework zeigt Bildlaufpfeile an, wenn mehr Knoten vorhanden sind, als in den sichtbaren Bereich des Struktursteuerelements passen.
CMFCPropertySheet::PropSheetLook_OneNoteTabs Zeigt eine Registerkarte im Stil von Microsoft OneNote für jede Eigenschaftenseite an. Das Framework zeigt Registerkarten am oberen Rand des Eigenschaftenblatts und Bildlaufpfeile an, wenn mehr Registerkarten vorhanden sind, als in eine einzelne Zeile passen.
CMFCPropertySheet::PropSheetLook_List Zeigt eine Liste auf der linken Seite des Eigenschaftenblatts an. Jedes Listenelement entspricht einer Eigenschaftenseite. Das Framework zeigt Bildlaufpfeile an, wenn mehr Listenelemente vorhanden sind, als in den sichtbaren Bereich der Liste passen.

Siehe auch

Hierarchiediagramm
Klassen
CMFCPropertyPage-Klasse
CMFCOutlookBar-Klasse