Partager via


CMFCPropertySheet, classe

La classe CMFCPropertySheet prend en charge une feuille de propriétés où chaque page de propriétés est représentée par un onglet de page, un bouton de barre d'outils, un nœud de contrôle d'arborescence ou un élément de liste.

Syntaxe

class CMFCPropertySheet : public CPropertySheet

Membres

Constructeurs publics

Nom Description
CMFCPropertySheet ::CMFCPropertySheet Construit un objet CMFCPropertySheet.
CMFCPropertySheet::~CMFCPropertySheet Destructeur.

Méthodes publiques

Nom Description
CMFCPropertySheet ::AddPage Ajoute une page à la feuille de propriétés.
CMFCPropertySheet ::AddPageToTree Ajoute une nouvelle page de propriétés au contrôle d'arborescence.
CMFCPropertySheet ::AddTreeCategory Ajoute un nouveau nœud au contrôle d'arborescence.
CMFCPropertySheet ::EnablePageHeader Réserve de l'espace en haut de chaque page pour dessiner un en-tête personnalisé.
CMFCPropertySheet ::GetHeaderHeight Récupère la hauteur de l'en-tête actuel.
CMFCPropertySheet ::GetLook Récupère une valeur d'énumération qui spécifie l'apparence de la feuille de propriétés actuelle.
CMFCPropertySheet ::GetNavBarWidth Réessaie la largeur de la barre de navigation en pixels.
CMFCPropertySheet ::GetTab Récupère l'objet de contrôle d'onglet interne qui prend en charge le contrôle de feuille de propriétés actuel.
CMFCPropertySheet::GetThisClass Utilisé par l’infrastructure pour obtenir un pointeur vers l’objet CRuntimeClass associé à ce type de classe.
CMFCPropertySheet ::InitNavigationControl Initialise l'apparence du contrôle de feuille de propriétés actuel.
CMFCPropertySheet ::OnActivatePage Appelé par l'infrastructure quand une page de propriétés est activée.
CMFCPropertySheet ::OnDrawPageHeader Appelé par l'infrastructure pour dessiner un en-tête de page de propriétés personnalisé.
CMFCPropertySheet::OnInitDialog Gère le message WM_INITDIALOG . (Remplacements CPropertySheet ::OnInitDialog.)
CMFCPropertySheet ::OnRemoveTreePage Appelé par l'infrastructure pour supprimer une page de propriétés d'un contrôle d'arborescence.
CMFCPropertySheet::PreTranslateMessage Traduit les messages de fenêtre avant qu’ils ne soient distribués aux fonctions Windows TranslateMessage et DispatchMessage . (Substitue CPropertySheet::PreTranslateMessage.)
CMFCPropertySheet ::RemoveCategory Supprime un nœud du contrôle d’arborescence.
CMFCPropertySheet ::RemovePage Supprime une page de propriétés de la feuille de propriétés.
CMFCPropertySheet ::SetIconsList Spécifie la liste des images utilisées dans le contrôle de navigation du volet Outlook.
CMFCPropertySheet ::SetLook Spécifie l'apparence de la feuille de propriétés.

Notes

La classe CMFCPropertySheet représente les feuilles de propriétés, aussi appelées boîtes de dialogue à onglets. La classe CMFCPropertySheet peut afficher une page de propriétés de diverses manières.

Pour utiliser la classe CMFCPropertySheet dans votre application, procédez comme suit :

  1. Faites dériver une classe de la classe CMFCPropertySheet et nommez-la, par exemple, CMyPropertySheet.

  2. Construisez un objet CMFCPropertyPage pour chaque page de propriétés.

  3. Appelez la méthode CMFCPropertySheet ::SetLook dans le constructeur CMyPropertySheet. Un paramètre de cette méthode permet de spécifier sous quelle forme les pages de propriétés seront affichées : onglets le long de la bordure supérieure ou gauche de la feuille de propriétés ; onglets dans le style d'une feuille de propriétés Microsoft OneNote ; boutons sur un contrôle de barre d'outils Microsoft Outlook ; nœuds sur un contrôle d'arborescence ; ou liste d'éléments sur le côté gauche de la feuille de propriétés.

  4. Si vous créez une feuille de propriétés dans le style d’une barre d’outils Microsoft Outlook, appelez la méthode CMFCPropertySheet ::SetIconsList pour associer une liste d’images aux pages de propriétés.

  5. Appelez la méthode CMFCPropertySheet ::AddPage pour chaque page de propriétés.

  6. Créez un contrôle CMFCPropertySheet et appelez sa méthode DoModal.

Illustrations

L'illustration suivante représente une feuille de propriétés dont le style est celui d'une barre d'outils Microsoft Outlook incorporée. La barre d'outils Outlook s'affiche sur le côté gauche de la feuille de propriétés.

Contrôles de couleur CMFCPropertySheet.

L’illustration suivante illustre une feuille de propriétés qui contient un objet CMFCPropertyGridCtrl, classe . Cet objet est une feuille de propriétés dont le style est celui d'une feuille de propriétés de contrôles communs standard.

Contrôles de propriété et de liste CMFCPropertySheet.

L’illustration suivante représente une feuille de propriétés dont le style est celui d’un contrôle d’arborescence.

Arborescence des propriétés.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CPropertySheet

CMFCPropertySheet

Spécifications

En-tête : afxpropertysheet.h

CMFCPropertySheet ::AddPage

Ajoute une page à la feuille de propriétés.

void AddPage(CPropertyPage* pPage);

Paramètres

pPage
[in] Pointeur vers un objet de page. Ce paramètre ne peut pas être NULL.

Notes

Cette méthode ajoute la page de propriétés spécifiée comme onglet le plus à droite de la feuille de propriétés. Par conséquent, utilisez cette méthode pour ajouter des pages dans l’ordre de gauche à droite.

Si la feuille de propriétés est dans le style de Microsoft Outlook, l’infrastructure affiche une liste de boutons de navigation à gauche de la feuille de propriétés. Une fois cette méthode ajouté une page de propriétés, elle ajoute un bouton correspondant à la liste. Pour afficher une page de propriétés, cliquez sur son bouton correspondant. Pour plus d’informations sur les styles de feuilles de propriétés, consultez CMFCPropertySheet ::SetLook.

CMFCPropertySheet ::AddPageToTree

Ajoute une nouvelle page de propriétés au contrôle d'arborescence.

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

Paramètres

pCategory
[in] Pointeur vers un nœud d’arborescence parent ou NULL pour associer la page spécifiée au nœud de niveau supérieur. Appelez la méthode CMFCPropertySheet ::AddTreeCategory pour obtenir ce pointeur.

pPage
[in] Pointeur vers un objet de page de propriétés.

nIconNum
[in] Index de base zéro d’une icône ou -1 si aucune icône n’est utilisée. L’icône s’affiche en regard de la page de propriétés du contrôle d’arborescence lorsque la page n’est pas sélectionnée. La valeur par défaut est -1.

nSelIconNum
[in] Index de base zéro d’une icône ou -1 si aucune icône n’est utilisée. L’icône s’affiche en regard de la page de propriétés du contrôle d’arborescence lorsque la page est sélectionnée. La valeur par défaut est -1.

Notes

Cette méthode ajoute une page de propriétés en tant que feuille d’un contrôle d’arborescence. Pour ajouter une page de propriétés, créez un CMFCPropertySheet objet, appelez la méthode CMFCPropertySheet ::SetLook avec le paramètre look défini CMFCPropertySheet::PropSheetLook_Treesur , puis utilisez cette méthode pour ajouter la page de propriétés.

CMFCPropertySheet ::AddTreeCategory

Ajoute un nouveau nœud au contrôle d'arborescence.

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

Paramètres

lpszLabel
[in] Nom du nœud.

nIconNum
[in] Index de base zéro d’une icône ou -1 si aucune icône n’est utilisée. L’icône s’affiche en regard de la page de propriétés du contrôle d’arborescence lorsque la page n’est pas sélectionnée. La valeur par défaut est -1.

nSelectedIconNum
[in] Index de base zéro d’une icône ou -1 si aucune icône n’est utilisée. L’icône s’affiche en regard de la page de propriétés du contrôle d’arborescence lorsque la page est sélectionnée. La valeur par défaut est -1.

pParentCategory
[in] Pointeur vers un nœud d’arborescence parent ou NULL pour associer la page spécifiée au nœud de niveau supérieur. Définissez ce paramètre avec la méthode CMFCPropertySheet ::AddTreeCategory .

Valeur de retour

Pointeur vers le nouveau nœud dans le contrôle d’arborescence.

Notes

Utilisez cette méthode pour ajouter un nouveau nœud, également appelé catégorie, au contrôle d’arborescence. Pour ajouter un nœud, créez un CMFCPropertySheet objet, appelez la méthode CMFCPropertySheet ::SetLook avec le paramètre look défini CMFCPropertySheet::PropSheetLook_Treesur , puis utilisez cette méthode pour ajouter le nœud.

Utilisez la valeur de retour de cette méthode dans les appels suivants à CMFCPropertySheet ::AddPageToTree et CMFCPropertySheet ::AddTreeCategory.

CMFCPropertySheet ::CMFCPropertySheet

Construit un objet CMFCPropertySheet.

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

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

Paramètres

pszCaption
[in] Chaîne qui contient la légende de la feuille de propriétés. Ne peut pas avoir la valeur NULL.

nIDCaption
[in] ID de ressource qui contient la légende de la feuille de propriétés.

pParentWnd
[in] Pointeur vers la fenêtre parente de la feuille de propriétés, ou NULL si la fenêtre parente est la fenêtre principale de l’application. La valeur par défaut est NULL.

iSelectPage
[in] Index de base zéro de la page de propriétés supérieure. La valeur par défaut est 0.

Notes

Pour plus d’informations, consultez les paramètres du constructeur CPropertySheet ::CPropertySheet .

CMFCPropertySheet ::EnablePageHeader

Réserve de l'espace en haut de chaque page pour dessiner un en-tête personnalisé.

void EnablePageHeader(int nHeaderHeight);

Paramètres

nHeaderHeight
[in] Hauteur de l’en-tête, en pixels.

Notes

Pour utiliser la valeur du paramètre nHeaderHeight pour dessiner un en-tête personnalisé, remplacez la méthode CMFCPropertySheet ::OnDrawPageHeader .

CMFCPropertySheet ::GetHeaderHeight

Récupère la hauteur de l'en-tête actuel.

int GetHeaderHeight() const;

Valeur de retour

Hauteur de l’en-tête, en pixels.

Notes

Appelez la méthode CMFCPropertySheet ::EnablePageHeader avant d’appeler cette méthode.

CMFCPropertySheet ::GetLook

Récupère une valeur d'énumération qui spécifie l'apparence de la feuille de propriétés actuelle.

PropSheetLook GetLook() const;

Valeur de retour

Une des valeurs d’énumération qui spécifie l’apparence de la feuille de propriétés. Pour obtenir la liste des valeurs possibles, consultez la table d’énumération dans la section Notes de CMFCPropertySheet ::SetLook.

CMFCPropertySheet ::GetNavBarWidth

Obtient la largeur de la barre de navigation.

int GetNavBarWidth() const;

Valeur de retour

Largeur de la barre de navigation en pixels.

CMFCPropertySheet ::GetTab

Récupère l'objet de contrôle d'onglet interne qui prend en charge le contrôle de feuille de propriétés actuel.

CMFCTabCtrl& GetTab() const;

Valeur de retour

Objet de contrôle tabulation interne.

Notes

Vous pouvez définir une feuille de propriétés pour qu’elle apparaisse dans différents styles, tels qu’un contrôle d’arborescence, une liste de boutons de navigation ou un ensemble de pages à onglets.

Avant d’appeler cette méthode, appelez la méthode CMFCPropertySheet ::SetLook pour définir l’apparence du contrôle de feuille de propriétés. Appelez ensuite la méthode CMFCPropertySheet ::InitNavigationControl pour initialiser l’objet de contrôle tabulation interne. Utilisez cette méthode pour récupérer l’objet de contrôle Tab, puis utilisez cet objet pour travailler avec les onglets de la feuille de propriétés.

Cette méthode s’affirme en mode débogage si le contrôle de feuille de propriétés n’est pas défini pour apparaître dans le style de Microsoft OneNote.

CMFCPropertySheet ::InitNavigationControl

Initialise l'apparence du contrôle de feuille de propriétés actuel.

virtual CWnd* InitNavigationControl();

Valeur de retour

Pointeur vers la fenêtre du contrôle de feuille de propriétés.

Notes

Un contrôle de feuille de propriétés peut apparaître sous plusieurs formes différentes, telles qu’un ensemble de pages à onglets, un contrôle d’arborescence ou une liste de boutons de navigation. Utilisez la méthode CMFCPropertySheet ::SetLook pour spécifier l’apparence du contrôle de feuille de propriétés.

CMFCPropertySheet ::OnActivatePage

Appelé par l'infrastructure quand une page de propriétés est activée.

virtual void OnActivatePage(CPropertyPage* pPage);

Paramètres

pPage
[in] Pointeur vers un objet de page de propriétés qui représente la page de propriétés activée.

Notes

Par défaut, cette méthode garantit que la page de propriétés activée est défiler dans l’affichage. Si le style de la feuille de propriétés actuelle contient un volet Microsoft Outlook, cette méthode définit le bouton Outlook correspondant à l’état vérifié.

CMFCPropertySheet ::OnDrawPageHeader

Appelé par l’infrastructure pour dessiner l’en-tête d’une page de propriétés personnalisée.

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

Paramètres

pDC
[in] Pointeur vers un contexte d’appareil.

nPage
[in] Numéro de page de propriété de base zéro.

rectHeader
[in] Rectangle englobant qui spécifie où dessiner l’en-tête.

Notes

Par défaut, cette méthode ne fait rien. Si vous remplacez cette méthode, appelez la méthode CMFCPropertySheet ::EnablePageHeader avant que l’infrastructure appelle cette méthode.

CMFCPropertySheet ::OnRemoveTreePage

Appelé par l'infrastructure pour supprimer une page de propriétés d'un contrôle d'arborescence.

virtual BOOL OnRemoveTreePage(CPropertyPage* pPage);

Paramètres

pPage
[in] Pointeur vers un objet de page de propriétés qui représente la page de propriétés à supprimer.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

CMFCPropertySheet ::RemoveCategory

Supprime un nœud du contrôle d’arborescence.

void RemoveCategory(CMFCPropertySheetCategoryInfo* pCategory);

Paramètres

pCategory
[in] Pointeur vers une catégorie (nœud) à supprimer.

Notes

Utilisez cette méthode pour supprimer un nœud, également appelé catégorie, d’un contrôle d’arborescence. Utilisez la méthode CMFCPropertySheet ::AddTreeCategory pour ajouter un nœud à un contrôle d’arborescence.

CMFCPropertySheet ::RemovePage

Supprime une page de propriétés de la feuille de propriétés.

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

Paramètres

pPage
[in] Pointeur vers l’objet page de propriétés qui représente la page de propriétés à supprimer. Ne peut pas avoir la valeur NULL.

nPage
[in] Index de base zéro de la page à supprimer.

Notes

Cette méthode supprime la page de propriétés spécifiée et détruit sa fenêtre associée. L’objet de page de propriétés spécifié par le paramètre pPage n’est pas détruit tant que la fenêtre CMFCPropertySheet n’est pas fermée.

CMFCPropertySheet ::SetIconsList

Spécifie la liste des images utilisées dans le contrôle de navigation du volet Outlook.

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

Paramètres

uiImageListResID
[in] ID de ressource d’une liste d’images.

cx
[in] Largeur, en pixels, des icônes dans la liste d’images.

clrTransparent
[in] Couleur transparente de l’image. Les parties de l’image qui sont cette couleur seront transparentes. La valeur par défaut est la couleur magenta, RGB(255,0,255).

hIcons
[in] Handle vers une liste d’images existante.

Valeur de retour

Dans la première syntaxe de surcharge de méthode, TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Si la feuille de propriétés est dans le style de Microsoft Outlook, l’infrastructure affiche une liste de boutons de navigation, appelé contrôle du volet Outlook, à gauche de la feuille de propriétés. Utilisez cette méthode pour définir la liste d’images à utiliser par le contrôle du volet Outlook.

Pour plus d’informations sur les méthodes qui prennent en charge cette méthode, consultez CImageList ::Create et CImageList ::Add. Pour plus d’informations sur la définition du style d’une feuille de propriétés, consultez CMFCPropertySheet ::SetLook.

CMFCPropertySheet ::SetLook

Spécifie l'apparence de la feuille de propriétés.

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

Paramètres

regarder
[in] Une des valeurs d’énumération qui spécifie l’apparence de la feuille de propriétés. Le style par défaut d’une feuille de propriétés est CMFCPropertySheet::PropSheetLook_Tabs. Pour plus d’informations, consultez le tableau de la section Remarques de cette rubrique.

nNavControlWidth
[in] Largeur du contrôle de navigation, en pixels. La valeur par défaut est 100.

Notes

Pour afficher une feuille de propriétés dans un style autre que la valeur par défaut, appelez cette méthode avant de créer la fenêtre de feuille de propriétés.

Le tableau suivant répertorie les valeurs d’énumération qui peuvent être spécifiées dans le paramètre look .

Valeur Description
CMFCPropertySheet::PropSheetLook_Tabs (Par défaut) Affiche un onglet pour chaque page de propriétés. Les onglets sont affichés en haut de la feuille de propriétés et sont empilés s’il y a plus d’onglets qu’il ne s’adapte à une seule ligne.
CMFCPropertySheet::PropSheetLook_OutlookBar Affiche une liste de boutons de navigation, dans le style de la barre Microsoft Outlook, à gauche de la feuille de propriétés. Chaque bouton de la liste correspond à une page de propriétés. Le framework affiche des flèches de défilement s’il y a plus de boutons que ce qui s’adapte à la zone visible de la liste.
CMFCPropertySheet::PropSheetLook_Tree Affiche un contrôle d’arborescence à gauche de la feuille de propriétés. Chaque nœud parent ou enfant du contrôle d’arborescence correspond à une page de propriétés. L’infrastructure affiche des flèches de défilement s’il y a plus de nœuds que cela s’adapte à la zone visible du contrôle d’arborescence.
CMFCPropertySheet::PropSheetLook_OneNoteTabs Affiche un onglet, dans le style de Microsoft OneNote, pour chaque page de propriétés. L’infrastructure affiche des onglets en haut de la feuille de propriétés et des flèches de défilement s’il y a plus d’onglets qu’il ne s’adapte à une seule ligne.
CMFCPropertySheet::PropSheetLook_List Affiche une liste à gauche de la feuille de propriétés. Chaque élément de liste correspond à une page de propriétés. Le framework affiche les flèches de défilement s’il y a plus d’éléments de liste que ce qui s’adapte à la zone visible de la liste.

Voir aussi

Graphique hiérarchique
Classes
CMFCPropertyPage, classe
CMFCOutlookBar, classe