PropertySheetA, fonction (prsht.h)

Crée une feuille de propriétés et ajoute les pages définies dans la structure d’en-tête de la feuille de propriétés spécifiée.

Syntaxe

INT_PTR PropertySheetA(
  LPCPROPSHEETHEADERA unnamedParam1
);

Paramètres

unnamedParam1

Type : LPCPROPSHEETHEADER

Pointeur vers une structure PROPSHEETHEADER qui définit le cadre et les pages d’une feuille de propriétés.

Valeur retournée

Type : INT_PTR

Pour les feuilles de propriétés modales, la valeur de retour est la suivante :

>=1 Les modifications ont été enregistrées par l’utilisateur.
0 Aucune modification n’a été enregistrée par l’utilisateur.
-1 Une erreur est survenue.
 

Pour les feuilles de propriétés sans mode, la valeur de retour est la poignée de fenêtre de la feuille de propriétés.

Les valeurs de retour suivantes ont une signification particulière.

Code de retour Description
ID_PSREBOOTSYSTEM
Une page a envoyé le message PSM_REBOOTSYSTEM à la feuille de propriétés. L’ordinateur doit être redémarré pour que les modifications de l’utilisateur prennent effet.
ID_PSRESTARTWINDOWS
Une page a envoyé le message PSM_RESTARTWINDOWS à la feuille de propriétés. Windows doit être redémarré pour que les modifications de l’utilisateur prennent effet.

Notes

Pour récupérer des informations d’erreur étendues, appelez GetLastError.

Si vous tentez d’ajouter plus de 99 pages à une feuille de propriétés, cette fonction échoue, mais sans indication de la cause de l’erreur : PropertySheet retourne une valeur de -1, mais GetLastError retourne 0.

Note Les remarques suivantes font référence uniquement aux Assistants qui n’utilisent pas le style de l’Assistant Aero (PSH_AEROWIZARD) ou les feuilles de propriétés non-Assistant.
 
Par défaut, la fonction PropertySheet crée une boîte de dialogue modale. Si le membre dwFlags de la structure PROPSHEETHEADER spécifie l’indicateur PSH_MODELESS, PropertySheet crée une boîte de dialogue sans mode et retourne immédiatement après sa création. Dans ce cas, la valeur de retour PropertySheet est la poignée de fenêtre de la boîte de dialogue sans mode.

Pour une feuille de propriétés sans mode, votre boucle de message doit utiliser PSM_ISDIALOGMESSAGE pour transmettre des messages à la boîte de dialogue feuille de propriétés. Votre boucle de message doit utiliser PSM_GETCURRENTPAGEHWND pour déterminer quand détruire la boîte de dialogue. Lorsque l’utilisateur clique sur le bouton OK ou Annuler , PSM_GETCURRENTPAGEHWND retourne NULL. Vous pouvez ensuite utiliser la fonction DestroyWindow pour détruire la boîte de dialogue.

Version 5.80. La valeur de retour PropertySheet contient des informations différentes pour les feuilles de propriétés modales et sans mode. Dans certains cas, les feuilles de propriétés sans mode peuvent avoir besoin des informations qu’elles auraient reçues de PropertySheet si elles avaient été modales. En particulier, ils peuvent avoir besoin de savoir si ID_PSREBOOTSYSTEM ou ID_PSRESTARTWINDOWS auraient été retournés. Une feuille de propriétés sans mode peut récupérer la valeur qu’une feuille de propriétés modale aurait reçue de PropertySheet en attendant que PSM_GETCURRENTPAGEHWND retourne NULL , puis en envoyant un message PSM_GETRESULT .

Notes

L’en-tête prsht.h définit PropertySheet comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête prsht.h
Bibliothèque Comctl32.lib
DLL Comctl32.dll
Ensemble d’API ext-ms-win-shell-comctl32-window-l1-1-0 (introduit dans Windows 10, version 10.0.14393)