Função TaskDialogIndirect (commctrl.h)
A função TaskDialogIndirect cria, exibe e opera uma caixa de diálogo de tarefa. A caixa de diálogo de tarefa contém ícones definidos pelo aplicativo, mensagens, título, caixa de marcar de verificação, links de comando, botões de push e botões de opção. Essa função pode registrar uma função de retorno de chamada para receber mensagens de notificação.
Sintaxe
HRESULT TaskDialogIndirect(
[in] const TASKDIALOGCONFIG *pTaskConfig,
[out, optional] int *pnButton,
[out, optional] int *pnRadioButton,
[out, optional] BOOL *pfVerificationFlagChecked
);
Parâmetros
[in] pTaskConfig
Tipo: const TASKDIALOGCONFIG*
Ponteiro para uma estrutura TASKDIALOGCONFIG que contém informações usadas para exibir a caixa de diálogo da tarefa.
[out, optional] pnButton
Tipo: int*
Endereço de uma variável que recebe:
- uma das IDs de botão especificadas no membro pButtons do parâmetro pTaskConfig
- um dos seguintes valores:
Valor | Descrição |
---|---|
0 | Falha na chamada de função. Consulte o valor retornado para obter mais informações. |
IDCANCEL | O botão Cancelar foi selecionado, Alt-F4 foi pressionado, Escape foi pressionado ou o usuário clicou no botão fechar janela . |
IDNO | Nenhum botão foi selecionado. |
IDOK | O botão OK foi selecionado. |
IDRETRY | O botão Repetir foi selecionado. |
IDYES | O botão Sim foi selecionado. |
Se esse parâmetro for NULL, nenhum valor será retornado.
[out, optional] pnRadioButton
Tipo: int*
Endereço de uma variável que recebe uma das IDs de botão especificadas no membro pRadioButtons do parâmetro pTaskConfig . Se esse parâmetro for NULL, nenhum valor será retornado.
[out, optional] pfVerificationFlagChecked
Tipo: BOOL*
Endereço de uma variável que recebe um dos valores a seguir.
Valor | Descrição |
---|---|
TRUE | A caixa de seleção de verificação foi marcada quando a caixa de diálogo foi ignorada. |
FALSE | A caixa de seleção de verificação não foi marcada quando a caixa de diálogo foi ignorada. |
Se esse parâmetro for NULL, a caixa de seleção de verificação será desabilitada.
Retornar valor
Tipo: HRESULT
Essa função pode retornar um desses valores.
Código de retorno | Descrição |
---|---|
|
A operação foi concluída com sucesso. |
|
Não há memória suficiente para concluir a operação. |
|
Um ou mais argumentos não são válidos. |
|
Falha na operação. |
Comentários
Quando você usa uma caixa de diálogo de tarefa para indicar que o sistema está com pouca memória, as cadeias de caracteres apontadas pelos vários membros de cadeia de caracteres e ícones na estrutura TASKDIALOGCONFIG não devem ser retiradas de um arquivo de recurso, pois uma tentativa de carregar o recurso pode falhar.
Se você criar uma caixa de diálogo de tarefa enquanto uma caixa de diálogo estiver presente, use um identificador para a caixa de diálogo como o parâmetro hWndParent . O parâmetro hWndParent não deve identificar uma janela filho, como um controle em uma caixa de diálogo.
A janela pai não deve ser ocultada ou desabilitada quando essa função é chamada.
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
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | commctrl.h (inclua Commctrl.h) |
Biblioteca | Comctl32.lib |
DLL | Comctl32.dll (versão 6) |
Confira também