Compartir a través de


Función de devolución de llamada PFNPROPSHEETCALLBACK (prsht.h)

Función de devolución de llamada definida por la aplicación a la que el sistema llama cuando se crea e inicializa la hoja de propiedades.

Sintaxis

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

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

Parámetros

unnamedParam1

Tipo: HWND

Identificador de la hoja de propiedades. Este parámetro se suele denominar hWnd.

unnamedParam2

Tipo: UINT

Mensaje que se recibe. Este parámetro se suele denominar uMsg.

Este parámetro es uno de los siguientes valores.

Valor Significado
PSCB_INITIALIZED (1)
Indica que se está inicializando la hoja de propiedades. El valor lParam (unnamedParam3) es cero para este mensaje.
PSCB_PRECREATE (2)
Indica que la hoja de propiedades está a punto de crearse. El parámetro hWnd (unnamedParam1) es NULL y el parámetro lParam (unnamedParam3) es la dirección de una plantilla de diálogo en memoria. Esta plantilla tiene la forma de una estructura DLGTEMPLATE o DLGTEMPLATEEX seguida de una o varias estructuras DLGITEMTEMPLATE . Este mensaje no es aplicable si usa el estilo del asistente Aero (PSH_AEROWIZARD).
PSCB_BUTTONPRESSED (3)

Versión 6.0 y posteriores. Indica que el usuario ha presionado un botón en el cuadro de diálogo hoja de propiedades. Para habilitarlo, especifique PSH_USECALLBACK en PROPSHEETHEADER.dwFlags y especifique el nombre de esta función de devolución de llamada en PROPSHEETHEADER.pfnCallback. El valor lParam (Arg3) es uno de los siguientes. Tenga en cuenta que solo PSBTN_CANCEL es válido cuando se usa el estilo del asistente Aero (PSH_AEROWIZARD).

Botón presionado Valor lParam
Aceptar PSBTN_OK
Cancelar PSBTN_CANCEL
Aplicar PSBTN_APPLYNOW
Cerrar PSBTN_FINISH

Tenga en cuenta que Comctl32.dll versiones 6 y posteriores no se pueden redistribuir. Para usar estas versiones de Comctl32.dll, especifique la versión determinada en un manifiesto. Para obtener más información sobre los manifiestos, vea Habilitación de estilos visuales.

unnamedParam3

Tipo: LPARAM

Información adicional acerca del mensaje. Este parámetro se denomina normalmente lParam.

El significado de este valor depende del parámetro uMsg (unnamedParam2):

  • Si uMsg es PSCB_INITIALIZED o PSCB_BUTTONPRESSED, el valor de este parámetro es cero.

  • Si se PSCB_PRECREATE uMsg , este parámetro será un puntero a una estructura DLGTEMPLATE o DLGTEMPLATEEX que describe el cuadro de diálogo de hoja de propiedades. Pruebe la firma de la estructura para determinar el tipo. Si la firma es igual a 0xFFFF, la estructura es una plantilla de diálogo extendida; de lo contrario, la estructura es una plantilla de diálogo estándar. En el ejemplo siguiente se muestra cómo hacerlo:

    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;
              }
         }    
    }
    

Valor devuelto

Tipo: int

Devuelve cero.

Comentarios

Para habilitar una función de devolución de llamada PropSheetProc , use la estructura PROPSHEETHEADER al llamar a la función PropertySheet para crear la hoja de propiedades. Use el miembro pfnCallback para especificar una dirección de la función de devolución de llamada y establezca la marca PSP_USECALLBACK en el miembro dwFlags .

PropSheetProc es un marcador de posición para el nombre de función definido por la aplicación. El tipo PFNPROPSHEETCALLBACK es la dirección de una función de devolución de llamada PropSheetProc .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado prsht.h