Structure PROPSHEETPAGE

Définit une page dans une feuille de propriétés.

Syntaxe

typedef struct {
    DWORD      dwSize;
    DWORD      dwFlags;
    HINSTANCE  hInstance;
    union {
        LPCSTR                 pszTemplate;
        PROPSHEETPAGE_RESOURCE pResource;
    };
    union {
        HICON  hIcon;
        LPCSTR pszIcon;
    };
    LPCSTR          pszTitle;
    DLGPROC         pfnDlgProc;
    LPARAM          lParam;
    LPFNPSPCALLBACK pfnCallback;
    UINT            *pcRefParent;
    LPCTSTR         pszHeaderTitle;
    LPCTSTR         pszHeaderSubTitle;
    HANDLE          hActCtx;
    union 
    {
        HBITMAP     hbmHeader;
        LPCSTR      pszbmHeader;
    }
} PROPSHEETPAGE, *LPPROPSHEETPAGE;

Membres

dwSize

Type : DWORD

Taille, en octets, de cette structure.

dwFlags

Type : DWORD

Indicateurs qui spécifient quelles options utiliser pour créer la page de feuille de propriétés. Ce membre peut être une combinaison des valeurs suivantes.

Valeur Signification
PSP_DEFAULT Utilise la signification par défaut pour tous les membres de la structure. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_DLGINDIRECT Crée la page à partir du modèle de boîte de dialogue en mémoire pointé par le membre pResource . La fonction PropertySheet suppose que le modèle en mémoire n’est pas protégé en écriture. Un modèle en lecture seule provoque une exception dans certaines versions de Windows.
PSP_HASHELP Active le bouton d’aide de la feuille de propriétés lorsque la page est active. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_HIDEHEADER Version 5.80 et ultérieures. La feuille de propriétés de l’Assistant masque la zone d’en-tête lorsque la page est sélectionnée. Si un filigrane a été fourni, il est peint sur le côté gauche de la page. Cet indicateur doit être défini pour les pages d’accueil et d’achèvement, et omis pour les pages intérieures. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_PREMATURE Version 4.71 ou ultérieure. Provoque la création de la page lors de la création de la feuille de propriétés. Si cet indicateur n’est pas spécifié, la page n’est pas créée tant qu’elle n’est pas sélectionnée pour la première fois. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_RTLREADING Inverse la direction dans laquelle pszTitle est affiché. Les fenêtres normales affichent tout le texte, y compris pszTitle, de gauche à droite (LTR). Pour les langues telles que l’hébreu ou l’arabe qui lisent de droite à gauche (RTL), une fenêtre peut être mise en miroir et tout le texte s’affiche rtl. Si PSP_RTLREADING est défini, pszTitle lit plutôt RTL dans une fenêtre parente normale et LTR dans une fenêtre parente mise en miroir.
PSP_USECALLBACK Appelle la fonction spécifiée par le membre pfnCallback lors de la création ou de la destruction de la page de feuille de propriétés définie par cette structure.
PSP_USEFUSIONCONTEXT Version 6.0 et ultérieures. Utilisez un contexte d’activation. Pour utiliser un contexte d’activation, vous devez définir cet indicateur et affecter le handle de contexte d’activation à hActCtx. Consultez les remarques.
PSP_USEHEADERSUBTITLE Version 5.80 ou ultérieure. Affiche la chaîne vers laquelle pointe le membre pszHeaderSubTitle en tant que sous-titre de la zone d’en-tête d’une page Wizard97. Pour utiliser cet indicateur, vous devez également définir l’indicateur PSH_WIZARD97 dans le membre dwFlags de la structure PROPSHEETHEADER associée. L’indicateur PSP_USEHEADERSUBTITLE est ignoré si PSP_HIDEHEADER est défini. Dans les Assistants de style Aero, le titre s’affiche en haut de la zone cliente.
PSP_USEHEADERTITLE Version 5.80 ou ultérieure. Affiche la chaîne pointée par le membre pszHeaderTitle comme titre dans l’en-tête d’une page intérieure Wizard97. Vous devez également définir l’indicateur PSH_WIZARD97 dans le membre dwFlags de la structure PROPSHEETHEADER associée. L’indicateur PSP_USEHEADERTITLE est ignoré si PSP_HIDEHEADER est défini. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_USEHICON Utilise hIcon comme petite icône sur l’onglet de la page. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_USEICONID Utilise pszIcon comme nom de la ressource d’icône à charger et utiliser comme petite icône sous l’onglet de la page. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).
PSP_USEREFPARENT Conserve le nombre de références spécifié par le membre pcRefParent pendant la durée de vie de la page de feuille de propriétés créée à partir de cette structure.
PSP_USETITLE Utilise le membre pszTitle comme titre de la boîte de dialogue de feuille de propriétés au lieu du titre stocké dans le modèle de boîte de dialogue. Cet indicateur n’est pas pris en charge lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD).

hInstance

Type : HINSTANCE

Gérez jusqu’à l’instance à partir de laquelle charger une ressource d’icône ou de chaîne. Si le membre pszIcon, pszTitle, pszHeaderTitle ou pszHeaderSubTitle identifie une ressource à charger, hInstance doit être spécifié.

pszTemplate

Type : LPCSTR

Modèle de boîte de dialogue à utiliser pour créer la page. Ce membre peut spécifier l’identificateur de ressource du modèle ou l’adresse d’une chaîne qui spécifie le nom du modèle. Si l’indicateur PSP_DLGINDIRECT dans le membre dwFlags est défini, pszTemplate est ignoré. Ce membre est déclaré en tant qu’union avec pResource.

pResource

Type : LPCDLGTEMPLATE

Pointeur vers un modèle de boîte de dialogue en mémoire. La fonction PropertySheet suppose que le modèle n’est pas protégé en écriture. Un modèle en lecture seule provoque une exception dans certaines versions de Windows. Pour utiliser ce membre, vous devez définir l’indicateur PSP_DLGINDIRECT dans le membre dwFlags . Ce membre est déclaré en tant qu’union avec pszTemplate.

hIcon

Type : HICON

Gérez vers l’icône à utiliser comme icône dans l’onglet de la page. Si le membre dwFlags n’inclut pas PSP_USEHICON, ce membre est ignoré. Ce membre est déclaré en tant qu’union avec pszIcon.

pszIcon

Type : LPCSTR

Ressource icône à utiliser comme icône dans l’onglet de la page. Ce membre peut spécifier l’identificateur de la ressource d’icône ou l’adresse de la chaîne qui spécifie le nom de la ressource d’icône. Pour utiliser ce membre, vous devez définir l’indicateur PSP_USEICONID dans le membre dwFlags . Ce membre est déclaré en tant qu’union avec hIcon.

pszTitle

Type : LPCSTR

Titre de la boîte de dialogue de la feuille de propriétés. Ce titre remplace le titre spécifié dans le modèle de boîte de dialogue. Ce membre peut spécifier l’identificateur d’une ressource de chaîne ou l’adresse d’une chaîne qui spécifie le titre. Pour utiliser ce membre, vous devez définir l’indicateur PSP_USETITLE dans le membre dwFlags .

pfnDlgProc

Type : DLGPROC

Pointeur vers la procédure de boîte de dialogue pour la page. Étant donné que les pages sont créées en tant que boîtes de dialogue sans mode, la procédure de boîte de dialogue ne doit pas appeler la fonction EndDialog .

lParam

Type : LPARAM

Lorsque la page est créée, une copie de la structure PROPSHEETPAGE de la page est passée à la procédure de boîte de dialogue avec un message WM_INITDIALOG . Le membre lParam est fourni pour vous permettre de transmettre des informations spécifiques à l’application à la procédure de boîte de dialogue. Il n'a aucun effet sur la page proprement dite.

pfnCallback

Type : LPFNPSPCALLBACK

Pointeur vers une fonction de rappel définie par l’application qui est appelée lors de la création de la page et lorsqu’elle est sur le point d’être détruite. Pour plus d’informations sur la fonction de rappel, consultez Fonction de rappel LPFNPSPCALLBACKA. Pour utiliser ce membre, vous devez définir l’indicateur PSP_USECALLBACK dans le membre dwFlags .

pcRefParent

Type : UINT*

Pointeur vers la valeur du nombre de références. Pour utiliser ce membre, vous devez définir l’indicateur PSP_USEREFPARENT dans le membre dwFlags .

Notes

Lorsqu’une page de feuille de propriétés est créée, la valeur pointée par pcRefParent est incrémentée. Vous créez implicitement une page de feuille de propriétés en définissant l’indicateur PSH_PROPSHEETPAGE dans le membre dwFlags de PROPSHEETHEADER et en appelant la fonction PropertySheet . Vous pouvez le faire explicitement à l’aide de la fonction CreatePropertySheetPage . Lorsqu’une page de feuille de propriétés est détruite, la valeur pointée par le membre pcRefParent est décrémentée. Cela se produit automatiquement lorsque la feuille de propriétés est détruite. Vous pouvez détruire explicitement une page de feuille de propriétés à l’aide de la fonction DestroyPropertySheetPage .

pszHeaderTitle

Type : LPCTSTR

Version 5.80 ou ultérieure. Titre de la zone d’en-tête. Pour utiliser ce membre sous l’Assistant de style Wizard97, vous devez également effectuer les opérations suivantes :

  • Définissez l’indicateur PSP_USEHEADERTITLE dans le membre dwFlags .
  • Définissez l’indicateur PSH_WIZARD97 dans le membre dwFlags de la structure PROPSHEETHEADER de la page.
  • Vérifiez que l’indicateur PSP_HIDEHEADER dans le membre dwFlags n’est pas défini.

pszHeaderSubTitle

Type : LPCTSTR

Version 5.80 ou ultérieure. Sous-titre de la zone d’en-tête. Pour utiliser ce membre, vous devez effectuer les opérations suivantes :

  • Définissez l’indicateur PSP_USEHEADERSUBTITLE dans le membre dwFlags .
  • Définissez l’indicateur PSH_WIZARD97 dans le membre dwFlags de la structure PROPSHEETHEADER de la page.
  • Vérifiez que l’indicateur PSP_HIDEHEADER dans le membre dwFlags n’est pas défini.

Notes

Ce membre est ignoré lors de l’utilisation de l’Assistant style Aero (PSH_AEROWIZARD)

hActCtx

Type : HANDLE

Version 6.0 ou ultérieure. Handle de contexte d’activation. Définissez ce membre sur le handle retourné lorsque vous créez le contexte d’activation avec CreateActCtx. Le système active ce contexte avant de créer la boîte de dialogue. Vous n’avez pas besoin d’utiliser ce membre si vous utilisez un manifeste global.

hbmHeader

Type : HBITMAP

Ce membre est déclaré en tant qu’union avec pszbmHeader.

pszbmHeader

Type : LPCSTR

Ce membre est déclaré en tant qu’union avec hbmHeader.

Notes

Comctl32.dll versions 6 et ultérieures ne sont pas redistribuables. Pour utiliser Comctl32.dll version 6 ou ultérieure, spécifiez le fichier .dll dans un manifeste. Pour plus d’informations sur les manifestes, consultez Activation des styles visuels.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête Prsht.h
Noms Unicode et ANSI PROPSHEETHEADERW (Unicode) et PROPSHEETHEADERA (ANSI)