Classe CTaskDialog
Uma caixa de diálogo pop-up que funciona como uma caixa de mensagem, mas pode exibir informações adicionais para o usuário. A CTaskDialog
também inclui a funcionalidade para coletar informações do usuário.
Sintaxe
class CTaskDialog : public CObject
Membros
Construtores
Nome | Descrição |
---|---|
CTaskDialog::CTaskDialog | Constrói um objeto CTaskDialog . |
Métodos
Nome | Descrição |
---|---|
CTaskDialog::AddCommandControl | Adiciona um controle de botão de comando à CTaskDialog . |
CTaskDialog::AddRadioButton | Adiciona um botão de opção à CTaskDialog . |
CTaskDialog::ClickCommandControl | Clica em um controle de botão de comando ou botão comum programaticamente. |
CTaskDialog::ClickRadioButton | Clica em um botão de opção programaticamente. |
CTaskDialog::DoModal | Exibe o CTaskDialog . |
CTaskDialog::GetCommonButtonCount | Recupera o número de botões comuns disponíveis. |
CTaskDialog::GetCommonButtonFlag | Converte um botão padrão do Windows no tipo de botão comum associado à classe CTaskDialog . |
CTaskDialog::GetCommonButtonId | Converte um dos tipos de botão comuns associado à classe CTaskDialog em um botão padrão do Windows. |
CTaskDialog::GetOptions | Retorna os sinalizadores de opção para essa CTaskDialog . |
CTaskDialog::GetSelectedCommandControlID | Retorna o controle de botão de comando selecionado. |
CTaskDialog::GetSelectedRadioButtonID | Retorna o botão de opção selecionado. |
CTaskDialog::GetVerificationCheckboxState | Recupera o estado da caixa de seleção de verificação. |
CTaskDialog::IsCommandControlEnabled | Determina se um controle de botão de comando ou um botão comum está habilitado. |
CTaskDialog::IsRadioButtonEnabled | Determina se um botão de opção está habilitado. |
CTaskDialog::IsSupported | Determina se o computador que está executando o aplicativo dá suporte à CTaskDialog . |
CTaskDialog::LoadCommandControls | Adiciona controles de botão de comando usando dados da tabela de cadeia de caracteres. |
CTaskDialog::LoadRadioButtons | Adiciona botões de opção usando dados da tabela de cadeia de caracteres. |
CTaskDialog::NavigateTo | Transfere o foco para outra CTaskDialog . |
CTaskDialog::OnCommandControlClick | A estrutura chama esse método quando o usuário clica em um controle de botão de comando. |
CTaskDialog::OnCreate | A estrutura chama esse método depois de criar a CTaskDialog . |
CTaskDialog::OnDestroy | A estrutura chama esse método imediatamente antes de destruir a CTaskDialog . |
CTaskDialog::OnExpandButtonClick | A estrutura chama esse método quando o usuário clica no botão de expansão. |
CTaskDialog::OnHelp | A estrutura chama esse método quando o usuário solicita ajuda. |
CTaskDialog::OnHyperlinkClick | A estrutura chama esse método quando o usuário clica em um hiperlink. |
CTaskDialog::OnInit | A estrutura chama esse método quando a CTaskDialog é inicializada. |
CTaskDialog::OnNavigatePage | A estrutura chama esse método quando o usuário move o foco em relação aos controles na CTaskDialog . |
CTaskDialog::OnRadioButtonClick | A estrutura chama esse método quando o usuário seleciona um controle de botão de opção. |
CTaskDialog::OnTimer | A estrutura chama esse método quando o temporizador expira. |
CTaskDialog::OnVerificationCheckboxClick | A estrutura chama esse método quando o usuário clica na caixa de seleção de verificação. |
CTaskDialog::RemoveAllCommandControls | Remove todos os controles de comando da CTaskDialog . |
CTaskDialog::RemoveAllRadioButtons | Remove todos os botões de opção da CTaskDialog . |
CTaskDialog::SetCommandControlOptions | Atualiza um controle de botão de comando na CTaskDialog . |
CTaskDialog::SetCommonButtonOptions | Atualiza um subconjunto de botões comuns a serem habilitados e exigir elevação de UAC. |
CTaskDialog::SetCommonButtons | Adiciona botões comuns à CTaskDialog . |
CTaskDialog::SetContent | Atualiza o conteúdo da CTaskDialog . |
CTaskDialog::SetDefaultCommandControl | Especifica o controle de botão de comando padrão. |
CTaskDialog::SetDefaultRadioButton | Especifica o botão de opção padrão. |
CTaskDialog::SetDialogWidth | Ajusta a largura da CTaskDialog . |
CTaskDialog::SetExpansionArea | Atualiza a área de expansão da CTaskDialog . |
CTaskDialog::SetFooterIcon | Atualiza o ícone de rodapé da CTaskDialog . |
CTaskDialog::SetFooterText | Atualiza o texto no rodapé da CTaskDialog . |
CTaskDialog::SetMainIcon | Atualiza o ícone principal da CTaskDialog . |
CTaskDialog::SetMainInstruction | Atualiza a instrução principal da CTaskDialog . |
CTaskDialog::SetOptions | Configura as opções para a CTaskDialog . |
CTaskDialog::SetProgressBarMarquee | Configura uma barra de letreiro para a CTaskDialog e a adiciona à caixa de diálogo. |
CTaskDialog::SetProgressBarPosition | Ajusta a posição da barra de progresso. |
CTaskDialog::SetProgressBarRange | Ajusta o intervalo da barra de progresso. |
CTaskDialog::SetProgressBarState | Define o estado da barra de progresso e exibe-o na CTaskDialog . |
CTaskDialog::SetRadioButtonOptions | Habilita ou desabilita um botão de opção. |
CTaskDialog::SetVerificationCheckbox | Define o estado marcado da caixa de seleção de verificação. |
CTaskDialog::SetVerificationCheckboxText | Define o texto no lado direito da caixa de seleção de verificação. |
CTaskDialog::SetWindowTitle | Define o título do CTaskDialog . |
CTaskDialog::ShowDialog | Cria e exibe um CTaskDialog . |
CTaskDialog::TaskDialogCallback | A estrutura chama isso em resposta a várias mensagens do Windows. |
Membros de dados
Nome | Descrição |
---|---|
m_aButtons |
A matriz de controles de botão de comando para a CTaskDialog . |
m_aRadioButtons |
A matriz de controles de botão de opção para a CTaskDialog . |
m_bVerified |
TRUE indica que a caixa de seleção de verificação está marcada; FALSE indica que está desmarcada. |
m_footerIcon |
O ícone no rodapé da CTaskDialog . |
m_hWnd |
Um identificador para a janela da CTaskDialog . |
m_mainIcon |
O ícone principal da CTaskDialog . |
m_nButtonDisabled |
Uma máscara que indica quais dos botões comuns estão desabilitados. |
m_nButtonElevation |
Uma máscara que indica quais dos botões comuns exigem elevação de UAC. |
m_nButtonId |
A ID do controle de botão de comando selecionado. |
m_nCommonButton |
Uma máscara que indica quais dos botões comuns são exibidos na CTaskDialog . |
m_nDefaultCommandControl |
A ID do controle de botão de comando que é selecionado quando a CTaskDialog é exibida. |
m_nDefaultRadioButton |
A ID do controle de botão de opção que é selecionado quando a CTaskDialog é exibida. |
m_nFlags |
Uma máscara que indica as opções para a CTaskDialog . |
m_nProgressPos |
A posição atual da barra de progresso. Esse valor deve estar entre m_nProgressRangeMin e m_nProgressRangeMax . |
m_nProgressRangeMax |
O valor máximo para a barra de progresso. |
m_nProgressRangeMin |
O valor mínimo para a barra de progresso. |
m_nProgressState |
O estado da barra de progresso. Para obter mais informações, confira CTaskDialog::SetProgressBarState. |
m_nRadioId |
A ID do controle de botão de opção selecionado. |
m_nWidth |
A largura da CTaskDialog em pixels. |
m_strCollapse |
A cadeia de caracteres que a CTaskDialog exibe à direita da caixa de expansão quando as informações expandidas estão ocultas. |
m_strContent |
O valor da cadeia de caracteres da CTaskDialog . |
m_strExpand |
A cadeia de caracteres que a CTaskDialog exibe à direita da caixa de expansão quando as informações expandidas são exibidas. |
m_strFooter |
O rodapé do CTaskDialog . |
m_strInformation |
As informações expandidas para a CTaskDialog . |
m_strMainInstruction |
A instrução principal da CTaskDialog . |
m_strTitle |
O título do CTaskDialog . |
m_strVerification |
A cadeia de caracteres que a CTaskDialog exibe à direita da caixa de seleção de verificação. |
Comentários
A classe CTaskDialog
substitui a caixa de mensagem padrão do Windows e tem funcionalidade adicional, como novos controles, para coletar informações do usuário. Essa classe está na biblioteca MFC no Visual Studio 2010 e posterior. A CTaskDialog
está disponível a partir do Windows Vista. As versões anteriores do Windows não podem exibir o objeto CTaskDialog
. Use CTaskDialog::IsSupported
para determinar em runtime se o usuário atual pode exibir a caixa de diálogo da tarefa. A caixa de mensagem padrão do Windows ainda tem suporte.
A CTaskDialog
está disponível somente quando você compila seu aplicativo usando a biblioteca Unicode.
A CTaskDialog
tem dois tipos de construtores diferentes. Um construtor permite que você especifique dois botões de comando e um máximo de seis controles de botão regulares. É possível adicionar mais botões de comando depois de criar a CTaskDialog
. O segundo construtor não dá suporte a botões de comando, mas você pode adicionar um número ilimitado de controles de botão regulares. Para obter mais informações sobre os construtores, confira CTaskDialog::CTaskDialog.
A imagem a seguir mostra um exemplo CTaskDialog
para ilustrar a localização de alguns dos controles.
Exemplo de CTaskDialog
Requisitos
Sistema operacional mínimo necessário: Windows Vista
Cabeçalho: afxtaskdialog.h
CTaskDialog::AddCommandControl
Adiciona um novo controle de botão de comando à CTaskDialog
.
void AddCommandControl(
int nCommandControlID,
const CString& strCaption,
BOOL bEnabled = TRUE,
BOOL bRequiresElevation = FALSE);
Parâmetros
nCommandControlID
[in] O número de identificação do controle de comando.
strCaption
[in] A cadeia de caracteres que a CTaskDialog
exibe para o usuário. Use essa cadeia de caracteres para explicar a finalidade do comando.
bEnabled
[in] Um parâmetro booliano que indica se o novo botão está habilitado ou desabilitado.
bRequiresElevation
[in] Um parâmetro booliano que indica se um comando requer elevação.
Comentários
A CTaskDialog Class
pode exibir um número ilimitado de controles de botão de comando. No entanto, se uma CTaskDialog
exibe todos os controles de botão de comando, ela poderá exibir no máximo seis botões. Se uma CTaskDialog
não tiver controles de botão de comando, ele poderá exibir um número ilimitado de botões.
Quando o usuário seleciona um controle de botão de comando, a CTaskDialog
fecha. Se o aplicativo exibir a caixa de diálogo usando CTaskDialog::DoModal, DoModal
retornará a nCommandControlID do controle de botão de comando selecionado.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::AddRadioButton
Adiciona um botão de opção à CTaskDialog
.
void CTaskDialog::AddRadioButton(
int nRadioButtonID,
const CString& strCaption,
BOOL bEnabled = TRUE);
Parâmetros
nRadioButtonID
[in] O número de identificação do botão de opção.
strCaption
[in] A cadeia de caracteres que CTaskDialog
exibe ao lado do botão de opção.
bEnabled
[in] Um parâmetro booliano que indica se o botão de opção está habilitado.
Comentários
Os botões de opção da Classe CTaskDialog permitem que você colete informações do usuário. Use a função CTaskDialog::GetSelectedRadioButtonID para determinar qual botão de opção será selecionado.
A CTaskDialog
não exige que os parâmetros nRadioButtonID sejam exclusivos para cada botão de opção. No entanto, você poderá ter um comportamento inesperado se não usar um identificador distinto para cada botão de opção.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::ClickCommandControl
Clica em um controle de botão de comando ou botão comum programaticamente.
protected:
void ClickCommandControl(int nCommandControlID) const;
Parâmetros
nCommandControlID
[in] A ID do comando do controle a ser clicado.
Comentários
Esse método gera a mensagem do Windows TDM_CLICK_BUTTON.
CTaskDialog::ClickRadioButton
Clica em um botão de opção programaticamente.
protected:
void ClickRadioButton(int nRadioButtonID) const;
Parâmetros
nRadioButtonID
[in] A ID do botão de opção a ser clicado.
Comentários
Esse método gera a mensagem do Windows TDM_CLICK_RADIO_BUTTON.
CTaskDialog::CTaskDialog
Cria uma instância da Classe CTaskDialog.
CTaskDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nCommonButtons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
CTaskDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nIDCommandControlsFirst,
int nIDCommandControlsLast,
int nCommonButtons,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
Parâmetros
strContent
[in] A cadeia de caracteres a ser usada para o conteúdo da CTaskDialog
.
strMainInstruction
[in] A instrução principal da CTaskDialog
.
strTitle
[in] O título da CTaskDialog
.
nCommonButtons
[in] Uma máscara dos botões comuns a serem adicionados à CTaskDialog
.
nTaskDialogOptions
[in] O conjunto de opções a ser usado para a CTaskDialog
.
strFooter
[in] A cadeia de caracteres a ser usada como rodapé.
nIDCommandControlsFirst
[in] A ID da cadeia de caracteres do primeiro comando.
nIDCommandControlsLast
[in] A ID da cadeia de caracteres do último comando.
Comentários
Há duas maneiras de adicionar uma CTaskDialog
ao seu aplicativo. A primeira maneira é usar um dos construtores para criar uma CTaskDialog
e exibi-la usando CTaskDialog::DoModal. A segunda maneira é usar a função estática CTaskDialog::ShowDialog, que permite exibir uma CTaskDialog
sem criar explicitamente um CTaskDialog
objeto.
O segundo construtor cria controles de botão de comando usando dados do arquivo de recurso do aplicativo. A tabela de cadeia de caracteres no arquivo de recurso tem várias cadeias de caracteres com IDs de cadeia de caracteres associadas. Esse método adiciona um controle de botão de comando para cada entrada válida na tabela de cadeia de caracteres entre nIDCommandControlsFirst e nCommandControlsLast, inclusive. Para esses controles de botão de comando, a cadeia de caracteres na tabela de cadeia de caracteres é a legenda do controle e a ID da cadeia de caracteres é a ID do controle.
Confira CTaskDialog::SetOptions para ver uma lista de opções válidas.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::DoModal
Exibe a CTaskDialog
e a torna modal.
INT_PTR DoModal (HWND hParent = ::GetActiveWindow());
Parâmetros
hParent
[in] A janela pai para a CTaskDialog
.
Valor de retorno
Um inteiro que corresponde à seleção feita pelo usuário.
Comentários
Exibe essa instância da CTaskDialog. Em seguida, o aplicativo aguarda o usuário fechar a caixa de diálogo.
A CTaskDialog
fecha quando o usuário seleciona um botão comum, um controle de link de comando ou fecha a CTaskDialog
. O valor retornado é o identificador que indica como o usuário fechou a caixa de diálogo.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::GetCommonButtonCount
Recupera o número de botões comuns.
int GetCommonButtonCount() const;
Valor de retorno
O número de botões comuns disponíveis.
Comentários
Os botões comuns são os botões padrão que você fornece à CTaskDialog::CTaskDialog. A Classe CTaskDialog exibe os botões na parte inferior da caixa de diálogo.
A lista enumerada de botões é fornecida em CommCtrl.h.
CTaskDialog::GetCommonButtonFlag
Converte um botão padrão do Windows no tipo de botão comum associado à Classe CTaskDialog.
int GetCommonButtonFlag(int nButtonId) const;
Parâmetros
nButtonId
[in] O valor do botão padrão do Windows.
Valor de retorno
O valor do botão comum CTaskDialog
correspondente. Se não houver um botão comum correspondente, esse método retornará 0.
CTaskDialog::GetCommonButtonId
Converte um dos tipos de botão comum associado à Classe CTaskDialog em um botão padrão do Windows.
int GetCommonButtonId(int nFlag);
Parâmetros
nFlag
[in] O tipo de botão comum associado à classe CTaskDialog
.
Valor de retorno
O valor do botão padrão do Windows correspondente. Se não houver nenhum botão do Windows correspondente, o método retornará 0.
CTaskDialog::GetOptions
Retorna os sinalizadores de opção para essa CTaskDialog
.
int GetOptions() const;
Valor de retorno
Os sinalizadores para a CTaskDialog
.
Comentários
Para obter mais informações sobre as opções disponíveis para a Classe CTaskDialog, consulte CTaskDialog::SetOptions.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::GetSelectedCommandControlID
Retorna o controle de botão de comando selecionado.
int GetSelectedCommandControlID() const;
Valor de retorno
A ID do controle de botão de comando selecionado atualmente.
Comentários
Não é necessário usar esse método para recuperar a ID do botão de comando selecionado pelo usuário. Essa ID é retornada por CTaskDialog::DoModal ou CTaskDialog::ShowDialog.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::GetSelectedRadioButtonID
Retorna o botão de opção selecionado.
int GetSelectedRadioButtonID() const;
Valor de retorno
A ID do botão de opção selecionado.
Comentários
Você pode usar esse método depois que o usuário fechar a caixa de diálogo para recuperar o botão de opção selecionado.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::GetVerificationCheckboxState
Recupera o estado da caixa de seleção de verificação.
BOOL GetVerificationCheckboxState() const;
Valor de retorno
TRUE se a caixa de seleção estiver marcada; FALSE se estiver desmarcada.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::IsCommandControlEnabled
Determina se um controle de botão de comando ou botão está habilitado.
BOOL IsCommandControlEnabled(int nCommandControlID) const;
Parâmetros
nCommandControlID
[in] A ID do botão ou controle de botão de comando a ser testado.
Valor de retorno
TRUE se o controle estiver habilitado; FALSE se estiver desabilitado.
Comentários
É possível usar esse método para determinar a disponibilidade dos controles de botão de comando e os botões comuns da Classe* CTaskDialog
.
Se nCommandControlID não for um identificador válido para um botão comum CTaskDialog
ou um controle de botão de comando, esse método gerará uma exceção.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::IsRadioButtonEnabled
Determina se um botão de opção está habilitado.
BOOL IsRadioButtonEnabled(int nRadioButtonID) const;
Parâmetros
nRadioButtonID
[in] A ID do botão de opção a ser testado.
Valor de retorno
TRUE se o botão de opção estiver habilitado; FALSE se estiver desabilitado.
Comentários
Se nRadioButtonID não for um identificador válido para um botão de opção, esse método gerará uma exceção.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::IsSupported
Determina se o computador que está executando o aplicativo dá suporte à CTaskDialog
.
static BOOL IsSupported();
Valor de retorno
TRUE se o computador der suporte à CTaskDialog
; FALSE caso contrário.
Comentários
Use essa função para determinar em runtime se o computador que está executando o aplicativo dá suporte à classe CTaskDialog
. Se o computador não der suporte à CTaskDialog
, você deverá fornecer outro método de comunicação de informações ao usuário. O aplicativo falhará se tentar usar uma CTaskDialog
em um computador que não dê suporte à classe CTaskDialog
.
Exemplo
// TODO: Replace the string below with the actual message to the user
CString message("Important information to the user");
// TODO: Replace the string below with the title of this project
CString title("Project Title");
CString emptyString;
if (CTaskDialog::IsSupported())
{
CTaskDialog::ShowDialog(message, emptyString, title, 0, 0,
TDCBF_OK_BUTTON);
}
else
{
AfxMessageBox(message);
}
CTaskDialog::LoadCommandControls
Adiciona controles de botão de comando usando dados da tabela de cadeia de caracteres.
void LoadCommandControls(
int nIDCommandControlsFirst,
int nIDCommandControlsLast);
Parâmetros
nIDCommandControlsFirst
[in] A ID da cadeia de caracteres do primeiro comando.
nIDCommandControlsLast
[in] A ID da cadeia de caracteres do último comando.
Comentários
Esse método cria controles de botão de comando usando dados do arquivo de recurso do aplicativo. A tabela de cadeia de caracteres no arquivo de recurso tem várias cadeias de caracteres com IDs de cadeia de caracteres associadas. Novos controles de botão de comando adicionados usando esse método usam a cadeia de caracteres para a legenda do controle e a ID da cadeia de caracteres para a ID do controle. O intervalo das cadeias de caracteres selecionadas é fornecido por nIDCommandControlsFirst e nCommandControlsLast, inclusive. Se houver uma entrada vazia no intervalo, o método não adicionará um controle de botão de comando para essa entrada.
Por padrão, novos controles de botão de comando são habilitados e não exigem elevação.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::LoadRadioButtons
Adiciona controles de botão de opção usando dados da tabela de cadeia de caracteres.
void LoadRadioButtons(
int nIDRadioButtonsFirst,
int nIDRadioButtonsLast);
Parâmetros
nIDRadioButtonsFirst
[in] A ID da cadeia de caracteres do primeiro botão de opção.
nIDRadioButtonsLast
[in] A ID da cadeia de caracteres do último botão de opção.
Comentários
Esse método cria botões de opção usando dados do arquivo de recurso do aplicativo. A tabela de cadeia de caracteres no arquivo de recurso tem várias cadeias de caracteres com IDs de cadeia de caracteres associadas. Novos botões de opção adicionados usando esse método usam a cadeia de caracteres para a legenda do botão de opção e a ID da cadeia de caracteres para a ID do botão de opção. O intervalo das cadeias de caracteres selecionadas é fornecido por nIDRadioButtonsFirst e nRadioButtonsLast, inclusive. Se houver uma entrada vazia no intervalo, o método não adicionará um botão de opção para essa entrada.
Por padrão, novos botões de opção são habilitados.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::NavigateTo
Transfere o foco para outra CTaskDialog
.
protected:
void NavigateTo(CTaskDialog& oTaskDialog) const;
Parâmetros
oTaskDialog
[in] A CTaskDialog
que recebe o foco.
Comentários
Esse método oculta a CTaskDialog
atual quando exibe o oTaskDialog. O oTaskDialog é exibido no mesmo local que a CTaskDialog
atual.
CTaskDialog::OnCommandControlClick
A estrutura chama esse método quando o usuário clica em um controle de botão de comando.
virtual HRESULT OnCommandControlClick(int nCommandControlID);
Parâmetros
nCommandControlID
[in] A ID do controle de botão de comando selecionado pelo usuário.
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnCreate
A estrutura chama esse método depois de criar a CTaskDialog
.
virtual HRESULT OnCreate();
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnDestroy
A estrutura chama esse método imediatamente antes de destruir a CTaskDialog
.
virtual HRESULT OnDestroy();
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnExpandButtonClick
A estrutura chama esse método quando o usuário clica no botão de expansão.
virtual HRESULT OnExpandButtonClicked(BOOL bExpanded);
Parâmetros
bExpanded
[in] Um valor diferente de zero indica que as informações extras são exibidas; 0 indica que as informações extras estão ocultas.
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnHelp
A estrutura chama esse método quando o usuário solicita ajuda.
virtual HRESULT OnHelp();
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnHyperlinkClick
A estrutura chama esse método quando o usuário clica em um hiperlink.
virtual HRESULT OnHyperlinkClick(const CString& strHref);
Parâmetros
strHref
[in] Uma cadeia de caracteres que representa o hiperlink.
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Esse método chama ShellExecute antes de retornar S_OK.
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnInit
A estrutura chama esse método quando a CTaskDialog
é inicializada.
virtual HRESULT OnInit();
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnNavigatePage
A estrutura chama esse método em resposta ao método CTaskDialog::NavigateTo.
virtual HRESULT OnNavigatePage();
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnRadioButtonClick
A estrutura chama esse método quando o usuário seleciona um controle de botão de opção.
virtual HRESULT OnRadioButtonClick(int nRadioButtonID);
Parâmetros
nRadioButtonID
[in] A ID do controle do botão de opção que o usuário clicou.
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnTimer
A estrutura chama esse método quando o temporizador expira.
virtual HRESULT OnTimer(long lTime);
Parâmetros
lTime
[in] Tempo em milissegundos desde que a CTaskDialog
foi criada ou o temporizador foi redefinido.
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::OnVerificationCheckboxClick
A estrutura chama esse método quando o usuário clica na caixa de seleção de verificação.
virtual HRESULT OnVerificationCheckboxClick(BOOL bChecked);
Parâmetros
bChecked
[in] TRUE indica que a caixa de seleção de verificação está selecionada; FALSE indica que não está.
Valor de retorno
A implementação padrão retorna S_OK.
Comentários
Substitua esse método em uma classe derivada para implementar o comportamento personalizado.
CTaskDialog::RemoveAllCommandControls
Remove todos os controles de botão de comando da CTaskDialog
.
void RemoveAllCommandControls();
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::RemoveAllRadioButtons
Remove todos os botões de opção da CTaskDialog
.
void RemoveAllRadioButtons();
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetCommandControlOptions
Atualiza um controle de botão de comando na CTaskDialog
.
void SetCommandControlOptions(
int nCommandControlID,
BOOL bEnabled,
BOOL bRequiresElevation = FALSE);
Parâmetros
nCommandControlID
[in] A ID do controle de comando a ser atualizado.
bEnabled
[in] Um parâmetro booliano que indica se o controle de botão de comando especificado está habilitado ou desabilitado.
bRequiresElevation
[in] Um parâmetro booliano que indica se o controle de botão de comando especificado requer elevação.
Comentários
Use esse método para alterar se um controle de botão de comando está habilitado ou requer elevação depois de ter sido adicionado à classe CTaskDialog
.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::SetCommonButtonOptions
Atualiza um subconjunto de botões comuns para a serem habilitados e exigirem elevação de UAC.
void SetCommonButtonOptions(
int nDisabledButtonMask,
int nElevationButtonMask = 0);
Parâmetros
nDisabledButtonMask
[in] Uma máscara para os botões comuns a serem desabilitados.
nElevationButtonMask
[in] Uma máscara para os botões comuns que requerem elevação.
Comentários
Você pode definir os botões comuns disponíveis para uma instância da Classe CTaskDialog usando o construtor CTaskDialog::CTaskDialog e o método CTaskDialog::SetCommonButtons. CTaskDialog::SetCommonButtonOptions
não dá suporte à adição de novos botões comuns.
Se você usar esse método para desabilitar ou elevar um botão comum que não esteja disponível para essa CTaskDialog
, esse método gerará uma exceção usando a macro ENSURE .
Esse método habilita qualquer botão disponível para a CTaskDialog
, mas não no nDisabledButtonMask, mesmo que ele tenha sido desabilitado anteriormente. Esse método trata a elevação de maneira semelhante: ele registra botões comuns como não exigindo elevação se o botão comum estiver disponível, mas não incluído no nElevationButtonMask.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title);
// Create a button mask.
int buttons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON;
buttons |= TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
taskDialog.SetCommonButtons(buttons);
// Disable the close button and make the retry button require
// elevation.
taskDialog.SetCommonButtonOptions(TDCBF_CLOSE_BUTTON,
TDCBF_RETRY_BUTTON);
taskDialog.DoModal();
CTaskDialog::SetCommonButtons
Adiciona botões comuns à CTaskDialog
.
void SetCommonButtons(
int nButtonMask,
int nDisabledButtonMask = 0,
int nElevationButtonMask = 0);
Parâmetros
nButtonMask
[in] Uma máscara dos botões a serem adicionados à CTaskDialog
.
nDisabledButtonMask
[in] Uma máscara dos botões a serem desabilitados.
nElevationButtonMask
[in] Uma máscara dos botões que requerem elevação.
Comentários
Não é possível chamar esse método depois que a janela de exibição dessa instância da classe CTaskDialog
for criada. Se você fizer isso, o método gerará uma exceção.
Os botões indicados por nButtonMask substituem todos os botões comuns adicionados anteriormente à CTaskDialog
. Somente os botões indicados em nButtonMask estão disponíveis.
Se nDisabledButtonMask ou nElevationButtonMask contiver um botão que não esteja em nButtonMask, esse método gerará uma exceção usando a macro ENSURE.
Por padrão, todos os botões comuns são habilitados e não requerem elevação.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title);
// Create a button mask.
int buttons = TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON;
buttons |= TDCBF_RETRY_BUTTON | TDCBF_CLOSE_BUTTON;
taskDialog.SetCommonButtons(buttons);
// Disable the close button and make the retry button require
// elevation.
taskDialog.SetCommonButtonOptions(TDCBF_CLOSE_BUTTON,
TDCBF_RETRY_BUTTON);
taskDialog.DoModal();
CTaskDialog::SetContent
Atualiza o conteúdo da CTaskDialog
.
void SetContent(const CString& strContent);
Parâmetros
strContent
[in] A cadeia de caracteres a ser exibida para o usuário.
Comentários
O conteúdo da classe CTaskDialog
é o texto exibido para o usuário na seção principal da caixa de diálogo.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetDefaultCommandControl
Especifica o controle de botão de comando padrão.
void SetDefaultCommandControl(int nCommandControlID);
Parâmetros
nCommandControlID
[in] A ID do controle de botão de comando a ser o padrão.
Comentários
O controle de botão de comando padrão é o controle selecionado quando a CTaskDialog
é exibida pela primeira vez para o usuário.
Esse método gerará uma exceção se ele não conseguir localizar o controle de botão de comando especificado por nCommandControlID.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title.
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddCommandControl(201, L"First command button control");
taskDialog.AddCommandControl(202, L"Second command button control");
taskDialog.AddCommandControl(203, L"Third command button control");
// Show the CTaskDialog and remember how the user closed it.
int selection = taskDialog.DoModal();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// command button control.
break;
case 202:
// TODO: Place processing here for the second
// command button control.
break;
case 203:
// TODO: Place processing here for the third
// command button control.
break;
default:
break;
}
// Remove all the command controls so that we can use the same task
// dialog with new command button controls.
taskDialog.RemoveAllCommandControls();
taskDialog.AddCommandControl(301,
L"New first command button control");
taskDialog.AddCommandControl(302,
L"New second command button control should require elevation",
TRUE, TRUE);
taskDialog.AddCommandControl(303,
L"New third command button control should be disabled");
// Change the default command button control
taskDialog.SetDefaultCommandControl(302);
// Make sure the third option is disabled.
if (taskDialog.IsCommandControlEnabled(303))
{
taskDialog.SetCommandControlOptions(303, FALSE);
}
taskDialog.DoModal();
switch (taskDialog.GetSelectedCommandControlID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the command button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllCommandControls();
taskDialog.LoadCommandControls(1001, 1005);
CTaskDialog::SetDefaultRadioButton
Especifica o botão de opção padrão.
void SetDefaultRadioButton(int nRadioButtonID);
Parâmetros
nRadioButtonID
[in] A ID do botão de opção a ser o padrão.
Comentários
O botão de opção padrão é o botão selecionado quando a CTaskDialog
é exibida pela primeira vez para o usuário.
Esse método gerará uma exceção se não conseguir localizar o botão de opção especificado por nRadioButtonID.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetDialogWidth
Ajusta a largura da CTaskDialog
.
void SetDialogWidth(int nWidth = 0);
Parâmetros
nWidth
[in] A largura da caixa de diálogo, em pixels.
Comentários
O parâmetro nWidth deve ser maior ou igual a 0. Caso contrário, esse método gerará uma exceção.
Se nWidth estiver definido como 0, esse método definirá a caixa de diálogo com o tamanho padrão.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetExpansionArea
Atualiza a área de expansão da CTaskDialog
.
void SetExpansionArea(
const CString& strExpandedInformation,
const CString& strCollapsedLabel = _T(""),
const CString& strExpandedLabel = _T(""));
Parâmetros
strExpandedInformation
[in] A cadeia de caracteres que CTaskDialog
exibe no corpo principal da caixa de diálogo quando o usuário clica no botão de expansão.
strCollapsedLabel
[in] A cadeia de caracteres que CTaskDialog
exibe ao lado do botão de expansão quando a área expandida é recolhida.
strExpandedLabel
[in] A cadeia de caracteres que CTaskDialog
exibe ao lado do botão de expansão quando a área expandida é exibida.
Comentários
A área de expansão da classe CTaskDialog
permite a você fornecer informações adicionais ao usuário. A área de expansão está na parte principal da CTaskDialog
, localizada imediatamente abaixo da cadeia de caracteres de título e conteúdo.
Quando a CTaskDialog
é exibida pela primeira vez, ele não mostra as informações expandidas e coloca strCollapsedLabel
ao lado do botão de expansão. Quando o usuário clica no botão de expansão, a CTaskDialog
exibe strExpandedInformation e altera o rótulo para strExpandedLabel.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetFooterIcon
Atualiza o ícone de rodapé da CTaskDialog
.
void SetFooterIcon(HICON hFooterIcon);
void SetFooterIcon(LPCWSTR lpszFooterIcon);
Parâmetros
hFooterIcon
[in] O novo ícone para a CTaskDialog
.
lpszFooterIcon
[in] O novo ícone para a CTaskDialog
.
Comentários
O ícone de rodapé é exibido na parte inferior da Classe CTaskDialog. Ele pode ter texto de rodapé associado. Você pode alterar o texto do rodapé com CTaskDialog::SetFooterText.
Esse método gerará uma exceção com a macro ENSURE se a opção CTaskDialog
for exibida ou o parâmetro de entrada for NULL.
Uma CTaskDialog
só pode aceitar um HICON
ou LPCWSTR
como ícone de rodapé. Isso é configurado definindo a opção TDF_USE_HICON_FOOTER no construtor ou CTaskDialog::SetOptions. Por padrão, a CTaskDialog
é configurada para usar LPCWSTR
como o tipo de entrada para o ícone de rodapé. Esse método gerará uma exceção se você tentar definir o ícone usando o tipo inadequado.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetFooterText
Atualiza o texto no rodapé da CTaskDialog
.
void SetFooterText(const CString& strFooterText);
Parâmetros
strFooterText
[in] O novo texto para o rodapé.
Comentários
O ícone de rodapé aparece ao lado do texto do rodapé na parte inferior da CTaskDialog
. Você pode alterar o ícone de rodapé com CTaskDialog::SetFooterIcon.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetMainIcon
Atualiza o ícone principal da CTaskDialog
.
void SetMainIcon(HICON hMainIcon);
void SetMainIcon(LPCWSTR lpszMainIcon);
Parâmetros
hMainIcon
[in] O novo ícone.
lpszMainIcon
[in] O novo ícone.
Comentários
Esse método gerará uma exceção com a macro ENSURE se a opção CTaskDialog
for exibida ou o parâmetro de entrada for NULL.
Uma CTaskDialog
só pode aceitar um HICON
ou LPCWSTR
como ícone principal. Você pode configurar isso definindo a opção TDF_USE_HICON_MAIN no construtor ou no método CTaskDialog::SetOptions. Por padrão, a CTaskDialog
é configurada para usar LPCWSTR
como o tipo de entrada para o ícone principal. Esse método gerará uma exceção se você tentar definir o ícone usando o tipo inadequado.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetMainInstruction
Atualiza a instrução principal da CTaskDialog
.
void SetMainInstruction(const CString& strInstructions);
Parâmetros
strInstructions
[in] A nova instrução principal.
Comentários
A instrução principal da classe CTaskDialog
é o texto exibido para o usuário em uma fonte grande em negrito. Ela está localizada na caixa de diálogo abaixo da barra de título.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetOptions
Configura as opções para a CTaskDialog
.
void SetOptions(int nOptionFlag);
Parâmetros
nOptionFlag
[in] O conjunto de sinalizadores a serem usados para a CTaskDialog
.
Comentários
Esse método limpa todas as opções atuais para o CTaskDialog
. Para preservar as opções atuais, você primeiro deve recuperá-las com CTaskDialog::GetOptions e combiná-las com as opções que deseja definir.
A tabela a seguir lista todas a opções válidas.
Nome | Descrição |
---|---|
TDF_ENABLE_HYPERLINKS | Habilita hiperlinks na CTaskDialog . |
TDF_USE_HICON_MAIN | Configura a CTaskDialog para usar um HICON para o ícone principal. A alternativa é usar um LPCWSTR . |
TDF_USE_HICON_FOOTER | Configura a CTaskDialog para usar um HICON para o ícone de rodapé. A alternativa é usar um LPCWSTR . |
TDF_ALLOW_DIALOG_CANCELLATION | Permite que o usuário feche a CTaskDialog usando o teclado ou usando o ícone no canto superior direito da caixa de diálogo, mesmo se o botão Cancelar não estiver habilitado. Se esse sinalizador não estiver definido e o botão Cancelar não estiver habilitado, o usuário não poderá fechar a caixa de diálogo usando Alt+F4, a tecla Escape ou o botão de fechar da barra de título. |
TDF_USE_COMMAND_LINKS | Configura a CTaskDialog para usar controles de botão de comando. |
TDF_USE_COMMAND_LINKS_NO_ICON | Configura a CTaskDialog para usar controles de botão de comando sem exibir um ícone ao lado do controle. TDF_USE_COMMAND_LINKS substitui TDF_USE_COMMAND_LINKS_NO_ICON. |
TDF_EXPAND_FOOTER_AREA | Indica que a área de expansão está expandida no momento. |
TDF_EXPANDED_BY_DEFAULT | Determina se a área de expansão é expandida por padrão. |
TDF_VERIFICATION_FLAG_CHECKED | Indica que a caixa de seleção de verificação está selecionada no momento. |
TDF_SHOW_PROGRESS_BAR | Configura a CTaskDialog para exibir uma barra de progresso. |
TDF_SHOW_MARQUEE_PROGRESS_BAR | Configura a barra de progresso para ser uma barra de progresso de letreiro. Se habilitar essa opção, você deverá definir TDF_SHOW_PROGRESS_BAR para ter o comportamento esperado. |
TDF_CALLBACK_TIMER | Indica que o intervalo de retorno de chamada CTaskDialog está definido como aproximadamente 200 milissegundos. |
TDF_POSITION_RELATIVE_TO_WINDOW | Configura a CTaskDialog para ser centralizada em relação à janela pai. Se esse sinalizador não estiver habilitado, a CTaskDialog será centralizada em relação ao monitor. |
TDF_RTL_LAYOUT | Configura a CTaskDialog para um layout de leitura da direita para a esquerda. |
TDF_NO_DEFAULT_RADIO_BUTTON | Indica que nenhum botão de opção está selecionado quando a CTaskDialog aparece. |
TDF_CAN_BE_MINIMIZED | Permite que o usuário minimize a CTaskDialog . Para dar suporte a essa opção, a CTaskDialog não pode ser modal. O MFC não dá suporte a essa opção porque o MFC não dá suporte a uma CTaskDialog sem janela restrita. |
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::SetProgressBarMarquee
Configura uma barra de letreiro para a CTaskDialog
e a adiciona à caixa de diálogo.
void SetProgressBarMarquee(
BOOL bEnabled = TRUE,
int nMarqueeSpeed = 0);
Parâmetros
bEnabled
[in] TRUE para habilitar a barra de letreiro; FALSE para desabilitar a barra de letreiro e removê-la da CTaskDialog
.
nMarqueeSpeed
[in] Um inteiro que indica a velocidade da barra de letreiro.
Comentários
A barra de letreiro aparece sob o texto principal da classe CTaskDialog
.
Use nMarqueeSpeed para definir a velocidade da barra de letreiro. Valores maiores indicam uma velocidade mais lenta. Um valor 0 para nMarqueeSpeed faz com que a barra de letreiro se mova na velocidade padrão do Windows.
Esse método gera uma exceção com a macro ENSURE se nMarqueeSpeed for menor que 0.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarPosition
Ajusta a posição da barra de progresso.
void SetProgressBarPosition(int nProgressPos);
Parâmetros
nProgressPos
[in] A posição da barra de progresso.
Comentários
Esse método gera uma exceção com a macro ENSURE se nProgressPos não estiver no intervalo de barras de progresso. Você pode alterar o intervalo de barras de progresso com CTaskDialog::SetProgressBarRange.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarRange
Ajusta o intervalo da barra de progresso.
void SetProgressBarRange(
int nRangeMin,
int nRangeMax);
Parâmetros
nRangeMin
[in] O limite inferior da barra de progresso.
nRangeMax
[in] O limite superior da barra de progresso.
Comentários
A posição da barra de progresso é relativa a nRangeMin e nRangeMax. Por exemplo, se nRangeMin for 50 e nRangeMax for 100, uma posição de 75 estará na metade da barra de progresso. Use CTaskDialog::SetProgressBarPosition para definir a posição da barra de progresso.
Para exibir a barra de progresso, a opção TDF_SHOW_PROGRESS_BAR deve ser habilitada e TDF_SHOW_MARQUEE_PROGRESS_BAR não deve ser habilitada. Esse método define automaticamente TDF_SHOW_PROGRESS_BAR e limpa TDF_SHOW_MARQUEE_PROGRESS_BAR. Use CTaskDialog::SetOptions para alterar manualmente as opções para esta instância da Classe CTaskDialog.
Esse método gerará uma exceção com a macro ENSURE se nRangeMin não for menor que nRangeMax. Esse método também gerará uma exceção se a CTaskDialog
já estiver exibida e tiver uma barra de progresso de letreiro.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetProgressBarState
Define o estado da barra de progresso e exibe-o na CTaskDialog
.
void SetProgressBarState(int nState = PBST_NORMAL);
Parâmetros
nState
[in] O estado da barra de progresso. Confira a seção Comentários para ver os valores possíveis.
Comentários
Esse método também gerará uma exceção com a macro ENSURE se a CTaskDialog
já estiver exibida e tiver uma barra de progresso de letreiro.
A tabela a seguir lista os valores possíveis para nState. Em todos esses casos, a barra de progresso será preenchida com a cor regular até alcançar a posição de parada designada. Nesse ponto, ela mudará de cor com base no estado.
Nome | Descrição |
---|---|
PBST_NORMAL | Após o preenchimento da barra de progresso, a CTaskDialog não altera a cor da barra. Por padrão, a cor regular é verde. |
PBST_ERROR | Após o preenchimento da barra de progresso, a CTaskDialog altera a cor da barra para a cor do erro. Por padrão, essa cor é vermelho. |
PBST_PAUSED | Após o preenchimento da barra de progresso, a CTaskDialog altera a cor da barra para a cor de pausa. Por padrão, essa cor é amarelo. |
Você pode definir onde a barra de progresso é interrompida com CTaskDialog::SetProgressBarPosition.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add a marquee progress bar.
taskDialog.SetProgressBarMarquee();
taskDialog.DoModal();
// Remove the marquee bar and replace it with a standard progress bar
taskDialog.SetProgressBarMarquee(0);
taskDialog.SetProgressBarRange(0, 100);
taskDialog.SetProgressBarPosition(75);
taskDialog.SetProgressBarState();
taskDialog.DoModal();
CTaskDialog::SetRadioButtonOptions
Habilita ou desabilita um botão de opção.
void SetRadioButtonOptions(
int nRadioButtonID,
BOOL bEnabled);
Parâmetros
nRadioButtonID
[in] A ID do controle de botão de opção.
bEnabled
[in] TRUE para habilitar o botão de opção; FALSE para desabilitá-lo.
Comentários
Esse método gerará uma exceção com a macro ENSURE se nRadioButtonID não for uma ID válida para um botão de opção.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
taskDialog.AddRadioButton(201, L"First option");
taskDialog.AddRadioButton(202, L"Second option");
taskDialog.AddRadioButton(203, L"Third option");
taskDialog.DoModal();
int selection = taskDialog.GetSelectedRadioButtonID();
switch (selection)
{
case 201:
// TODO: Place processing here for the first
// radio button.
break;
case 202:
// TODO: Place processing here for the second
// radio button.
break;
case 203:
// TODO: Place processing here for the third
// radio button.
break;
default:
break;
}
// Remove all the radio buttons so that we can use the same task
// dialog with new radio buttons.
taskDialog.RemoveAllRadioButtons();
taskDialog.AddRadioButton(301, L"New first option");
taskDialog.AddRadioButton(302, L"New second option");
taskDialog.AddRadioButton(303,
L"New third option should be disabled");
// Change the default radio button to the second option
taskDialog.SetDefaultRadioButton(302);
// Make sure the third option is disabled.
if (taskDialog.IsRadioButtonEnabled(303))
{
taskDialog.SetRadioButtonOptions(303, FALSE);
}
taskDialog.DoModal();
selection = taskDialog.GetSelectedRadioButtonID();
switch (taskDialog.GetSelectedRadioButtonID())
{
case 301:
// TODO: Place processing here for new first
// command button control.
break;
case 302:
// TODO: Place processing here for new second
// command button control.
break;
case 303:
// TODO: Place processing here for the new third
// command button control.
break;
default:
break;
}
// Remove all the radio button controls and add new ones from
// the string table resource.
taskDialog.RemoveAllRadioButtons();
taskDialog.LoadRadioButtons(1001, 1005);
CTaskDialog::SetVerificationCheckbox
Define o estado marcado da caixa de seleção de verificação.
void SetVerificationCheckbox(BOOL bChecked);
Parâmetros
bChecked
[in] TRUE para ter a caixa de seleção de verificação selecionada quando a CTaskDialog
for exibida; FALSE para que a caixa de seleção de verificação não seja selecionada quando a CTaskDialog
for exibida.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::SetVerificationCheckboxText
Define o texto exibido à direita da caixa de seleção de verificação.
void SetVerificationCheckboxText(CString& strVerificationText);
Parâmetros
strVerificationText
[in] O texto que este método exibe ao lado da caixa de seleção de verificação.
Comentários
Esse método gerará uma exceção com a macro ENSURE se essa instância da classe CTaskDialog
já estiver exibida.
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Add the verification checkbox and set the default state.
taskDialog.SetVerificationCheckboxText(L"Remember your selection.");
taskDialog.SetVerificationCheckbox(false);
taskDialog.DoModal();
if (taskDialog.GetVerificationCheckboxState())
{
// TODO: Write settings of the task dialog to the registry
}
CTaskDialog::SetWindowTitle
Define o título do CTaskDialog
.
void SetWindowTitle(CString& strWindowTitle);
Parâmetros
strWindowTitle
[in] O novo título para a CTaskDialog
.
Comentários
Exemplo
// TODO: Replace the strings below with the appropriate message,
// main instruction, and dialog title
CString message("This is an important message to the user.");
CString mainInstruction("Important!\nPlease read!");
CString title("Alert Dialog");
CTaskDialog taskDialog(message, mainInstruction, title,
TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON);
// Setting new information to be able to reuse the dialog resource
taskDialog.SetWindowTitle(L"New title for the task dialog");
taskDialog.SetContent(L"New message to show the user.");
taskDialog.SetMainInstruction(L"Even more important!");
taskDialog.SetMainIcon(TD_ERROR_ICON);
taskDialog.SetDialogWidth(300);
// Add a footer
taskDialog.SetFooterText(L"Footer information for the dialog.");
taskDialog.SetFooterIcon(TD_INFORMATION_ICON);
// Add expansion information
taskDialog.SetExpansionArea(L"Additional information\non two lines.",
L"Click here for more information.",
L"Click here to hide the extra information.");
// Change the options to show the expanded information by default.
// It is necessary to retrieve the current options first.
int options = taskDialog.GetOptions();
options |= TDF_EXPANDED_BY_DEFAULT;
taskDialog.SetOptions(options);
taskDialog.DoModal();
CTaskDialog::ShowDialog
Cria e exibe um CTaskDialog
.
static INT_PTR ShowDialog(
const CString& strContent,
const CString& strMainInstruction,
const CString& strTitle,
int nIDCommandControlsFirst,
int nIDCommandControlsLast,
int nCommonButtons = TDCBF_YES_BUTTON | TDCBF_NO_BUTTON,
int nTaskDialogOptions = TDF_ENABLE_HYPERLINKS | TDF_USE_COMMAND_LINKS,
const CString& strFooter = _T(""));
Parâmetros
strContent
[in] A cadeia de caracteres a ser usada para o conteúdo da CTaskDialog
.
strMainInstruction
[in] A instrução principal da CTaskDialog
.
strTitle
[in] O título da CTaskDialog
.
nIDCommandControlsFirst
[in] A ID da cadeia de caracteres do primeiro comando.
nIDCommandControlsLast
[in] A ID da cadeia de caracteres do último comando.
nCommonButtons
[in] Uma máscara dos botões a serem adicionados à CTaskDialog
.
nTaskDialogOptions
[in] O conjunto de opções a ser usado para a CTaskDialog
.
strFooter
[in] A cadeia de caracteres a ser usada como rodapé.
Valor de retorno
Um inteiro que corresponde à seleção feita pelo usuário.
Comentários
Esse método estático permite que você crie uma instância da classe CTaskDialog
sem criar explicitamente um objeto CTaskDialog
no código. Como não há nenhum objeto CTaskDialog
, não é possível chamar outros métodos da CTaskDialog
se você usar esse método para mostrar uma CTaskDialog
ao usuário.
Esse método cria controles de botão de comando usando dados do arquivo de recurso do aplicativo. A tabela de cadeia de caracteres no arquivo de recurso tem várias cadeias de caracteres com IDs de cadeia de caracteres associadas. Esse método adiciona um controle de botão de comando para cada entrada válida na tabela de cadeia de caracteres entre nIDCommandControlsFirst e nCommandControlsLast, inclusive. Para esses controles de botão de comando, a cadeia de caracteres na tabela de cadeia de caracteres é a legenda do controle e a ID da cadeia de caracteres é a ID do controle.
Confira CTaskDialog::SetOptions para ver uma lista de opções válidas.
A CTaskDialog
fecha quando o usuário seleciona um botão comum, um controle de link de comando ou fecha a CTaskDialog
. O valor retornado é o identificador que indica como o usuário fechou a caixa de diálogo.
Exemplo
// TODO: Replace the string below with the actual message to the user
CString message("Important information to the user");
// TODO: Replace the string below with the title of this project
CString title("Project Title");
CString emptyString;
if (CTaskDialog::IsSupported())
{
CTaskDialog::ShowDialog(message, emptyString, title, 0, 0,
TDCBF_OK_BUTTON);
}
else
{
AfxMessageBox(message);
}
CTaskDialog::TaskDialogCallback
A estrutura chama esse método em resposta a várias mensagens do Windows.
friend:
HRESULT TaskDialogCallback(
HWND hWnd,
UINT uNotification,
WPARAM wParam,
LPARAM lParam,
LONG_PTR dwRefData);
Parâmetros
hwnd
[in] Um identificador para a estrutura m_hWnd
para a CTaskDialog
.
uNotification
[in] O código de notificação que especifica a mensagem gerada.
wParam
[in] Mais informações sobre a mensagem.
lParam
[in] Mais informações sobre a mensagem.
dwRefData
[in] Um ponteiro para o objeto CTaskDialog
ao qual a mensagem de retorno de chamada se aplica.
Valor de retorno
Depende do código de notificação específico. Consulte a seção Comentários para obter mais informações.
Comentários
A implementação padrão de TaskDialogCallback
manipula a mensagem específica e chama o método On apropriado da Classe CTaskDialog. Por exemplo, em resposta à mensagem TDN_BUTTON_CLICKED, TaskDialogCallback
chama CTaskDialog::OnCommandControlClick.
Os valores para wParam e lParam dependem da mensagem específica gerada. É possível que um ou ambos os valores estejam vazios. A tabela a seguir lista as notificações padrão com suporte e o que os valores de wParam e lParam representam. Se você substituir esse método em uma classe derivada, será necessário implementar o código de retorno de chamada para cada mensagem na tabela a seguir.
Mensagem de notificação | Valor wParam | Valor lParam |
---|---|---|
TDN_CREATED | Não usado. | Não usado. |
TDN_NAVIGATED | Não usado. | Não usado. |
TDN_BUTTON_CLICKED | A ID do controle de botão de comando. | Não usado. |
TDN_HYPERLINK_CLICKED | Não usado. | Uma estrutura LPCWSTR que contém o link. |
TDN_TIMER | Tempo em milissegundos desde que a CTaskDialog foi criada ou o temporizador foi redefinido. |
Não usado. |
TDN_DESTROYED | Não usado. | Não usado. |
TDN_RADIO_BUTTON_CLICKED | A ID do botão de opção. | Não usado. |
TDN_DIALOG_CONSTRUCTED | Não usado. | Não usado. |
TDN_VERIFICATION_CLICKED | 1 se a caixa de seleção estiver marcada, 0 se estiver desmarcada. | Não usado. |
TDN_HELP | Não usado. | Não usado. |
TDN_EXPANDO_BUTTON_CLICKED | 0 se a área de expansão estiver recolhida; diferentes de zero se o texto de expansão for exibido. | Não usado. |
Confira também
Classes
Classe CObject
Gráfico da hierarquia
Instruções passo a passo: adicionando um CTaskDialog a um aplicativo