Share via


Função de retorno de chamada PFNPROPSHEETCALLBACK (prsht.h)

Uma função de retorno de chamada definida pelo aplicativo que o sistema chama quando a folha de propriedades está sendo criada e inicializada.

Sintaxe

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

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

Parâmetros

unnamedParam1

Tipo: HWND

Manipule para a folha de propriedades. Esse parâmetro normalmente é chamado de hWnd.

unnamedParam2

Tipo: UINT

Mensagem sendo recebida. Esse parâmetro normalmente é chamado de uMsg.

Esse parâmetro é um dos valores a seguir.

Valor Significado
PSCB_INITIALIZED (1)
Indica que a folha de propriedades está sendo inicializada. O valor lParam (unnamedParam3) é zero para esta mensagem.
PSCB_PRECREATE (2)
Indica que a folha de propriedades está prestes a ser criada. O parâmetro hWnd (unnamedParam1) é NULL e o parâmetro lParam (unnamedParam3) é o endereço de um modelo de caixa de diálogo na memória. Esse modelo está na forma de uma estrutura DLGTEMPLATE ou DLGTEMPLATEEX seguida por uma ou mais estruturas DLGITEMTEMPLATE . Esta mensagem não será aplicável se você estiver usando o estilo do assistente do Aero (PSH_AEROWIZARD).
PSCB_BUTTONPRESSED (3)

Versão 6.0 e posterior. Indica que o usuário pressionou um botão na caixa de diálogo folha de propriedades. Para habilitar isso, especifique PSH_USECALLBACK em PROPSHEETHEADER.dwFlags e especifique o nome dessa função de retorno de chamada em PROPSHEETHEADER.pfnCallback. O valor lParam (Arg3) é um dos seguintes. Observe que somente PSBTN_CANCEL é válido quando você está usando o estilo do assistente aero (PSH_AEROWIZARD).

Botão pressionado Valor lParam
OK PSBTN_OK
Cancelar PSBTN_CANCEL
Aplicar PSBTN_APPLYNOW
Fechar PSBTN_FINISH

Observe que Comctl32.dll versões 6 e posteriores não são redistribuíveis. Para usar essas versões de Comctl32.dll, especifique a versão específica em um manifesto. Para obter mais informações sobre manifestos, consulte Habilitando estilos visuais.

unnamedParam3

Tipo: LPARAM

Informações adicionais sobre a mensagem. Esse parâmetro normalmente é chamado de lParam.

O significado desse valor depende do parâmetro uMsg (unnamedParam2):

  • Se uMsg for PSCB_INITIALIZED ou PSCB_BUTTONPRESSED, o valor desse parâmetro será zero.

  • Se uMsg for PSCB_PRECREATE, esse parâmetro será um ponteiro para uma estrutura DLGTEMPLATE ou DLGTEMPLATEEX que descreve a caixa de diálogo da folha de propriedades. Teste a assinatura da estrutura para determinar o tipo. Se a assinatura for igual a 0xFFFF, a estrutura será um modelo de caixa de diálogo estendido, caso contrário, a estrutura será um modelo de caixa de diálogo padrão. O exemplo a seguir demonstra como fazer isso.

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

Retornar valor

Tipo: int

Retorna zero.

Comentários

Para habilitar uma função de retorno de chamada PropSheetProc , use a estrutura PROPSHEETHEADER ao chamar a função PropertySheet para criar a folha de propriedades. Use o membro pfnCallback para especificar um endereço da função de retorno de chamada e defina o sinalizador PSP_USECALLBACK no membro dwFlags .

PropSheetProc é um espaço reservado para o nome da função definida pelo aplicativo. O tipo PFNPROPSHEETCALLBACK é o endereço de uma função de retorno de chamada PropSheetProc .

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho prsht.h