Condividi tramite


Funzione di callback PFNPROPSHEETCALLBACK (prsht.h)

Funzione di callback definita dall'applicazione che il sistema chiama quando viene creato e inizializzato il foglio delle proprietà.

Sintassi

PFNPROPSHEETCALLBACK Pfnpropsheetcallback;

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

Parametri

unnamedParam1

Tipo: HWND

Handle nel foglio delle proprietà. Questo parametro è in genere denominato hWnd.

unnamedParam2

Tipo: UINT

Messaggio ricevuto. Questo parametro è in genere denominato uMsg.

Questo parametro è uno dei valori seguenti.

Valore Significato
PSCB_INITIALIZED (1)
Indica che il foglio delle proprietà viene inizializzato. Il valore lParam (unnamedParam3) è zero per questo messaggio.
PSCB_PRECREATE (2)
Indica che il foglio delle proprietà sta per essere creato. Il parametro hWnd (unnamedParam1) è NULL e il parametro lParam (unnamedParam3) è l'indirizzo di un modello di dialogo in memoria. Questo modello è sotto forma di una struttura DLGTEMPLATE o DLGTEMPLATEEX seguita da una o più strutture DLGITEMTEMPLATE. Questo messaggio non è applicabile se si usa lo stile della procedura guidata Aero (PSH_AEROWIZARD).
PSCB_BUTTONPRESSED (3)

Versione 6.0 e successiva. Indica che l'utente ha premuto un pulsante nella finestra di dialogo del foglio delle proprietà. Per abilitare questa operazione, specificare PSH_USECALLBACK in PROPSHEETHEADER.dwFlags e specificare il nome di questa funzione di callback in PROPSHEETHEADER.pfnCallback. Il valore lParam (Arg3) è uno dei seguenti. Si noti che solo PSBTN_CANCEL è valido quando si usa lo stile della procedura guidata Aero (PSH_AEROWIZARD).

Pulsante selezionato valore lParam
OK PSBTN_OK
Annulla PSBTN_CANCEL
Applica PSBTN_APPLYNOW
Chiudi PSBTN_FINISH

Si noti che Comctl32.dll versioni 6 e successive non sono ridistribuibili. Per usare queste versioni di Comctl32.dll, specificare la versione specifica in un manifesto. Per altre informazioni sui manifesti, vedere Abilitazione degli stili di visualizzazione.

unnamedParam3

Tipo: LPARAM

Ulteriori informazioni sul messaggio. Questo parametro è in genere denominato lParam.

Il significato di questo valore dipende dal parametro uMsg (senza nomeParam2):

  • Se uMsg è PSCB_INITIALIZED o PSCB_BUTTONPRESSED, il valore di questo parametro è zero.

  • Se uMsg è PSCB_PRECREATE, questo parametro sarà un puntatore a una struttura DLGTEMPLATE o DLGTEMPLATEEX che descrive la finestra di dialogo del foglio di proprietà. Testare la firma della struttura per determinare il tipo. Se la firma è uguale a 0xFFFF la struttura è un modello di dialogo esteso, altrimenti la struttura è un modello di dialogo standard. Nell'esempio riportato di seguito viene illustrato come procedere.

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

Valore restituito

Tipo: int

Restituisce zero.

Commenti

Per abilitare una funzione di callback PropSheetProc , usare la struttura PROPSHEETHEADER quando si chiama la funzione PropertySheet per creare il foglio delle proprietà. Usare il membro pfnCallback per specificare un indirizzo della funzione di callback e impostare il flag di PSP_USECALLBACK nel membro dwFlags .

PropSheetProc è un segnaposto per il nome della funzione definita dall'applicazione. Il tipo PFNPROPSHEETCALLBACK è l'indirizzo di una funzione di callback PropSheetProc .

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione prsht.h