Funzione TaskDialogIndirect (commctrl.h)

La funzione TaskDialogIndirect crea, visualizza e gestisce una finestra di dialogo attività. La finestra di dialogo attività contiene icone definite dall'applicazione, messaggi, titolo, casella di controllo di verifica, collegamenti di comando, pulsanti di scelta e pulsanti di opzione. Questa funzione può registrare una funzione di callback per ricevere messaggi di notifica.

Sintassi

HRESULT TaskDialogIndirect(
  [in]            const TASKDIALOGCONFIG *pTaskConfig,
  [out, optional] int                    *pnButton,
  [out, optional] int                    *pnRadioButton,
  [out, optional] BOOL                   *pfVerificationFlagChecked
);

Parametri

[in] pTaskConfig

Tipo: const TASKDIALOGCONFIG*

Puntatore a una struttura TASKDIALOGCONFIG contenente informazioni utilizzate per visualizzare la finestra di dialogo attività.

[out, optional] pnButton

Tipo: int*

Indirizzo di una variabile che riceve:

  • uno degli ID pulsante specificati nel membro pButtons del parametro pTaskConfig
  • uno dei valori seguenti:
Valore Descrizione
0 Chiamata di funzione non riuscita. Per altre informazioni, fare riferimento al valore restituito.
IDCANCEL Il pulsante Annulla è stato selezionato, è stato premuto ALT-F4, Escape è stato premuto o l'utente ha fatto clic sul pulsante della finestra di chiusura .
IDNO Nessun pulsante selezionato.
IDOK È stato selezionato il pulsante OK.
IDRETRY È stato selezionato il pulsante Riprova.
IDYES È stato selezionato il pulsante Sì.
 

Se questo parametro è NULL, non viene restituito alcun valore.

[out, optional] pnRadioButton

Tipo: int*

Indirizzo di una variabile che riceve uno degli ID pulsante specificati nel membro pRadioButtons del parametro pTaskConfig . Se questo parametro è NULL, non viene restituito alcun valore.

[out, optional] pfVerificationFlagChecked

Tipo: BOOL*

Indirizzo di una variabile che riceve uno dei valori seguenti.

Valore Descrizione
TRUE La casella di controllo verifica è stata selezionata quando la finestra di dialogo è stata chiusa.
FALSE La casella di controllo verifica non è stata selezionata quando la finestra di dialogo è stata chiusa.
 

Se questo parametro è NULL, la casella di controllo di verifica è disabilitata.

Valore restituito

Tipo: HRESULT

Questa funzione può restituire uno di questi valori.

Codice restituito Descrizione
S_OK
Operazione riuscita.
E_OUTOFMEMORY
Memoria insufficiente per completare l'operazione.
E_INVALIDARG
Uno o più argomenti non sono validi.
E_FAIL
Operazione non riuscita.

Commenti

Quando si utilizza una finestra di dialogo attività per indicare che la memoria del sistema è insufficiente, le stringhe a cui puntano i vari membri stringa e icona nella struttura TASKDIALOGCONFIG non devono essere ricavate da un file di risorse perché un tentativo di caricamento della risorsa potrebbe non riuscire.

Se si crea una finestra di dialogo attività mentre è presente una finestra di dialogo, usare un handle per la finestra di dialogo come parametro hWndParent . Il parametro hWndParent non deve identificare una finestra figlio, ad esempio un controllo in una finestra di dialogo.

La finestra padre non deve essere nascosta o disabilitata quando questa funzione viene chiamata.


int nButtonPressed                  = 0;
TASKDIALOGCONFIG config             = {0};
const TASKDIALOG_BUTTON buttons[]   = { 
                                        { IDOK, L"Change password" }
                                      };
config.cbSize                       = sizeof(config);
config.hInstance                    = hInst;
config.dwCommonButtons              = TDCBF_CANCEL_BUTTON;
config.pszMainIcon                  = TD_WARNING_ICON;
config.pszMainInstruction           = L"Change Password";
config.pszContent                   = L"Remember your changed password.";
config.pButtons                     = buttons;
config.cButtons                     = ARRAYSIZE(buttons);

TaskDialogIndirect(&config, &nButtonPressed, NULL, NULL);
switch (nButtonPressed)
{
    case IDOK:
        break; // the user pressed button 0 (change password).
    case IDCANCEL:
        break; // user canceled the dialog
    default:
        break; // should never happen
}

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione commctrl.h (include Commctrl.h)
Libreria Comctl32.lib
DLL Comctl32.dll (versione 6)

Vedi anche

Finestre di dialogo