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:
Leiten Sie eine Klasse aus der
CMFCPropertySheet
-Klasse ab, und benennen Sie die Klasse, beispielsweise als „CMyPropertySheet“.Erstellen Sie ein CMFCPropertyPage-Objekt für jede Eigenschaftenseite.
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.
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.
Rufen Sie die CMFCPropertySheet::AddPage-Methode für jede Eigenschaftenseite auf.
Erstellen Sie ein
CMFCPropertySheet
-Steuerelement, und rufen Sie dessenDoModal
-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.
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.
In der folgenden Abbildung wird ein Eigenschaftsblatt gezeigt, das im Stile eines Struktursteuerelements vorliegt.
Vererbungshierarchie
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 die Beschriftung des Eigenschaftenblatts enthält. Lässt keine NULL-Werte zu.
nIDCaption
[in] Eine Ressourcen-ID, die die Beschriftung des Eigenschaftenblatts enthält.
pParentWnd
[in] Zeigen Sie auf das übergeordnete Fenster des Eigenschaftenblatts oder NULL, wenn das übergeordnete Fenster das Hauptfenster 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
schauen
[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