Partager via


Fonction de rappel PFNPROPSHEETCALLBACK (prsht.h)

Fonction de rappel définie par l’application que le système appelle lorsque la feuille de propriétés est en cours de création et d’initialisation.

Syntaxe

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

int Pfnpropsheetcallback(
  HWND unnamedParam1,
  UINT unnamedParam2,
  LPARAM unnamedParam3
)
{...}

Paramètres

unnamedParam1

Type : HWND

Gérez la feuille de propriétés. Ce paramètre est généralement appelé hWnd.

unnamedParam2

Type : UINT

Message reçu. Ce paramètre est généralement appelé uMsg.

Ce paramètre est l’une des valeurs suivantes.

Valeur Signification
PSCB_INITIALIZED (1)
Indique que la feuille de propriétés est en cours d’initialisation. La valeur lParam (unnamedParam3) est zéro pour ce message.
PSCB_PRECREATE (2)
Indique que la feuille de propriétés est sur le point d’être créée. Le paramètre hWnd (unnamedParam1) a la valeur NULL et le paramètre lParam (unnamedParam3) est l’adresse d’un modèle de boîte de dialogue en mémoire. Ce modèle se présente sous la forme d’une structure DLGTEMPLATE ou DLGTEMPLATEEX suivie d’une ou plusieurs structures DLGITEMTEMPLATE . Ce message ne s’applique pas si vous utilisez le style de l’Assistant Aero (PSH_AEROWIZARD).
PSCB_BUTTONPRESSED (3)

Version 6.0 et ultérieures. Indique que l’utilisateur a appuyé sur un bouton dans la boîte de dialogue de la feuille de propriétés. Pour cela, spécifiez PSH_USECALLBACK dans PROPSHEETHEADER.dwFlags et spécifiez le nom de cette fonction de rappel dans PROPSHEETHEADER.pfnCallback. La valeur lParam (Arg3) est l’une des valeurs suivantes. Notez que seul PSBTN_CANCEL est valide lorsque vous utilisez le style de l’Assistant Aero (PSH_AEROWIZARD).

Bouton enfoncé valeur lParam
Ok PSBTN_OK
Annuler PSBTN_CANCEL
Appliquer PSBTN_APPLYNOW
Fermer PSBTN_FINISH

Notez que Comctl32.dll versions 6 et ultérieures ne sont pas redistribuables. Pour utiliser ces versions de Comctl32.dll, spécifiez la version particulière dans un manifeste. Pour plus d’informations sur les manifestes, consultez Activation des styles visuels.

unnamedParam3

Type : LPARAM

Informations supplémentaires sur le message. Ce paramètre est généralement appelé lParam.

La signification de cette valeur dépend du paramètre uMsg (unnamedParam2) :

  • Si uMsg est PSCB_INITIALIZED ou PSCB_BUTTONPRESSED, la valeur de ce paramètre est zéro.

  • Si uMsg est PSCB_PRECREATE, ce paramètre sera un pointeur vers une structure DLGTEMPLATE ou DLGTEMPLATEEX décrivant la boîte de dialogue de la feuille de propriétés. Testez la signature de la structure pour déterminer le type. Si la signature est égale à 0xFFFF la structure est un modèle de dialogue étendu, sinon la structure est un modèle de boîte de dialogue standard. L'exemple suivant illustre la procédure à suivre pour réaliser cette opération.

    if (uMsg == PSCB_PRECREATE) 
    {
         if (lParam)
         {
              DLGTEMPLATE *pDlgTemplate;
              DLGTEMPLATEEX *pDlgTemplateEx;
    
              pDlgTemplateEx = (DLGTEMPLATEEX *)lParam;  
              if (pDlgTemplateEx->signature == 0xFFFF)
              {
                   // pDlgTemplateEx points to an extended  
                   // dialog template structure.
              }
              else
              {
                   // This is a standard dialog template
                   //  structure.
                   pDlgTemplate = (DLGTEMPLATE *)lParam;
              }
         }    
    }
    

Valeur retournée

Type : int

Retourne zéro.

Remarques

Pour activer une fonction de rappel PropSheetProc , utilisez la structure PROPSHEETHEADER lorsque vous appelez la fonction PropertySheet pour créer la feuille de propriétés. Utilisez le membre pfnCallback pour spécifier une adresse de la fonction de rappel et définissez l’indicateur PSP_USECALLBACK dans le membre dwFlags .

PropSheetProc est un espace réservé pour le nom de fonction défini par l’application. Le type PFNPROPSHEETCALLBACK est l’adresse d’une fonction de rappel PropSheetProc .

Configuration requise

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]
Plateforme cible Windows
En-tête prsht.h