Dela via


CTaskDialog-klass

En popup-dialogruta som fungerar som en meddelanderuta men som kan visa ytterligare information för användaren. CTaskDialog innehåller även funktioner för att samla in information från användaren.

Syntax

class CTaskDialog : public CObject

Medlemmar

Konstruktörer

Namn Beskrivning
CTaskDialog::CTaskDialog Konstruerar ett CTaskDialog objekt.

Metoder

Namn Beskrivning
CTaskDialog::AddCommandControl Lägger till en kommandoknappskontroll i CTaskDialog.
CTaskDialog::AddRadioButton Lägger till en alternativknapp i CTaskDialog.
CTaskDialog::ClickCommandControl Klickar på en kommandoknappskontroll eller en gemensam knapp programmatiskt.
CTaskDialog::ClickRadioButton Klickar på en alternativknapp programmatiskt.
CTaskDialog::D oModal Visar CTaskDialog.
CTaskDialog::GetCommonButtonCount Hämtar antalet vanliga knappar som är tillgängliga.
CTaskDialog::GetCommonButtonFlag Konverterar en Windows-standardknapp till den vanliga knapptypen som är associerad med klassen CTaskDialog.
CTaskDialog::GetCommonButtonId Konverterar en av de vanliga knapptyperna som är associerade med klassen CTaskDialog till en Windows-standardknapp.
CTaskDialog::GetOptions Returnerar alternativflaggor för den här CTaskDialog.
CTaskDialog::GetSelectedCommandControlID Returnerar den valda kommandoknappskontrollen.
CTaskDialog::GetSelectedRadioButtonID Returnerar den markerade alternativknappen.
CTaskDialog::GetVerificationCheckboxState Hämtar verifieringstillståndet.
CTaskDialog::IsCommandControlEnabled Avgör om en kommandoknappskontroll eller en gemensam knapp är aktiverad.
CTaskDialog::IsRadioButtonEnabled Avgör om en alternativknapp är aktiverad.
CTaskDialog::IsSupported Avgör om datorn som kör programmet stöder CTaskDialog.
CTaskDialog::LoadCommandControls Lägger till kommandoknappskontroller med hjälp av data från strängtabellen.
CTaskDialog::LoadRadioButtons Lägger till alternativknappar med hjälp av data från strängtabellen.
CTaskDialog::NavigateTo Överför fokus till en annan CTaskDialog.
CTaskDialog::OnCommandControlClick Ramverket anropar den här metoden när användaren klickar på en kommandoknappskontroll.
CTaskDialog::OnCreate Ramverket anropar den här metoden när den har skapat CTaskDialog.
CTaskDialog::OnDestroy Ramverket anropar den här metoden omedelbart innan den förstör CTaskDialog.
CTaskDialog::OnExpandButtonClick Ramverket anropar den här metoden när användaren klickar på expansionsknappen.
CTaskDialog::OnHelp Ramverket anropar den här metoden när användaren begär hjälp.
CTaskDialog::OnHyperlinkClick Ramverket anropar den här metoden när användaren klickar på en hyperlänk.
CTaskDialog::OnInit Ramverket anropar den här metoden när CTaskDialog initieras.
CTaskDialog::OnNavigatePage Ramverket anropar den här metoden när användaren flyttar fokus när det gäller kontroller på CTaskDialog.
CTaskDialog::OnRadioButtonClick Ramverket anropar den här metoden när användaren väljer en alternativknappskontroll.
CTaskDialog::OnTimer Ramverket anropar den här metoden när timern upphör att gälla.
CTaskDialog::OnVerificationCheckboxClick Ramverket anropar den här metoden när användaren klickar på verifieringsrutan.
CTaskDialog::RemoveAllCommandControls Tar bort alla kommandokontroller från CTaskDialog.
CTaskDialog::RemoveAllRadioButtons Tar bort alla alternativknappar från CTaskDialog.
CTaskDialog::SetCommandControlOptions Uppdaterar en kommandoknappskontroll på CTaskDialog.
CTaskDialog::SetCommonButtonOptions Uppdaterar en delmängd av vanliga knappar som ska aktiveras och kräver UAC-höjning.
CTaskDialog::SetCommonButtons Lägger till vanliga knappar i CTaskDialog.
CTaskDialog::SetContent Uppdaterar innehållet i CTaskDialog.
CTaskDialog::SetDefaultCommandControl Anger standardkommandoknappkontrollen.
CTaskDialog::SetDefaultRadioButton Anger standardknappen för alternativ.
CTaskDialog::SetDialogWidth Justerar bredden på CTaskDialog.
CTaskDialog::SetExpansionArea Uppdaterar expansionsområdet för CTaskDialog.
CTaskDialog::SetFooterIcon Uppdaterar sidfotsikonen för CTaskDialog.
CTaskDialog::SetFooterText Uppdaterar texten på sidfoten för CTaskDialog.
CTaskDialog::SetMainIcon Uppdaterar huvudikonen för CTaskDialog.
CTaskDialog::SetMainInstruction Uppdaterar huvudinstruktionen för CTaskDialog.
CTaskDialog::SetOptions Konfigurerar alternativen för CTaskDialog.
CTaskDialog::SetProgressBarMarquee Konfigurerar ett markeringsfält för CTaskDialog och lägger till det i dialogrutan.
CTaskDialog::SetProgressBarPosition Justerar förloppsindikatorns position.
CTaskDialog::SetProgressBarRange Justerar förloppsindikatorns intervall.
CTaskDialog::SetProgressBarState Anger status för förloppsindikatorn och visar den på CTaskDialog.
CTaskDialog::SetRadioButtonOptions Aktiverar eller inaktiverar en alternativknapp.
CTaskDialog::SetVerificationCheckbox Anger kryssrutan för verifieringens markerade tillstånd.
CTaskDialog::SetVerificationCheckboxText Anger texten till höger i verifieringsrutan.
CTaskDialog::SetWindowTitle Anger rubriken för CTaskDialog.
CTaskDialog::ShowDialog Skapar och visar en CTaskDialog.
CTaskDialog::TaskDialogCallback Ramverket anropar detta som svar på olika Windows-meddelanden.

Datamedlemmar

Namn Beskrivning
m_aButtons Matrisen med kommandoknappskontroller för CTaskDialog.
m_aRadioButtons Matrisen med alternativknappkontroller för CTaskDialog.
m_bVerified TRUE anger att kryssrutan för verifiering är markerad. FALSE anger att det inte är det.
m_footerIcon Ikonen i sidfoten för CTaskDialog.
m_hWnd Ett handtag till fönstret för CTaskDialog.
m_mainIcon Huvudikonen för CTaskDialog.
m_nButtonDisabled En mask som anger vilka av de vanliga knapparna som är inaktiverade.
m_nButtonElevation En mask som anger vilken av de vanliga knapparna som kräver UAC-höjning.
m_nButtonId ID för den valda kommandoknappskontrollen.
m_nCommonButton En mask som anger vilka vanliga knappar som visas på CTaskDialog.
m_nDefaultCommandControl ID:t för kommandoknappskontrollen som väljs när CTaskDialog visas.
m_nDefaultRadioButton ID:t för den alternativknappskontroll som väljs när CTaskDialog visas.
m_nFlags En mask som anger alternativen för CTaskDialog.
m_nProgressPos Den aktuella positionen för förloppsindikatorn. Det här värdet måste vara mellan m_nProgressRangeMin och m_nProgressRangeMax.
m_nProgressRangeMax Maximalt värde för förloppsindikatorn.
m_nProgressRangeMin Minimivärdet för förloppsindikatorn.
m_nProgressState Status för förloppsindikatorn. Mer information finns i CTaskDialog::SetProgressBarState.
m_nRadioId ID:t för den valda alternativknappskontrollen.
m_nWidth Bredden på CTaskDialog i bildpunkter.
m_strCollapse Strängen CTaskDialog visas till höger om expansionsrutan när den expanderade informationen är dold.
m_strContent Innehållssträngen i CTaskDialog.
m_strExpand Strängen CTaskDialog visas till höger om expansionsrutan när den expanderade informationen visas.
m_strFooter Sidfoten för CTaskDialog.
m_strInformation Den expanderade informationen för CTaskDialog.
m_strMainInstruction Huvudinstruktionen för CTaskDialog.
m_strTitle Rubriken på CTaskDialog.
m_strVerification Strängen som CTaskDialog visas till höger om verifieringsrutan.

Anmärkningar

Klassen CTaskDialog ersätter standardmeddelanderutan i Windows och har ytterligare funktioner, till exempel nya kontroller för att samla in information från användaren. Den här klassen finns i MFC-biblioteket i Visual Studio 2010 och senare. Den CTaskDialog är tillgänglig från och med Windows Vista. Tidigare versioner av Windows kan inte visa objektet CTaskDialog. Använd CTaskDialog::IsSupported för att avgöra vid körning om den aktuella användaren kan visa aktivitetsdialogrutan. Standardmeddelanderutan för Windows stöds fortfarande.

Den CTaskDialog är endast tillgänglig när du skapar ditt program med hjälp av Unicode-biblioteket.

CTaskDialog har två olika konstruktorer. Med en konstruktor kan du ange två kommandoknappar och högst sex vanliga knappkontroller. Du kan lägga till fler kommandoknappar när du har skapat CTaskDialog. Den andra konstruktorn har inte stöd för några kommandoknappar, men du kan lägga till ett obegränsat antal vanliga knappkontroller. Mer information om konstruktorerna finns i CTaskDialog::CTaskDialog.

Följande bild visar ett exempel CTaskDialog för att illustrera platsen för vissa kontroller.

Exempel på CTaskDialog.
Exempel på CTaskDialog

Krav

Lägsta operativsystem som krävs: Windows Vista

Rubrik: afxtaskdialog.h

CTaskDialog::AddCommandControl

Lägger till en ny kommandoknappskontroll i CTaskDialog.

void AddCommandControl(
    int nCommandControlID,
    const CString& strCaption,
    BOOL bEnabled = TRUE,
    BOOL bRequiresElevation = FALSE);

Parametrar

nCommandControlID
[i] Identifieringsnummer för kommandokontroll.

strCaption
[i] Strängen som CTaskDialog visar för användaren. Använd den här strängen för att förklara syftet med kommandot.

bEnabled
[i] En boolesk parameter som anger om den nya knappen är aktiverad eller inaktiverad.

bRequiresElevation
[i] En boolesk parameter som anger om ett kommando kräver utökade privilegier.

Anmärkningar

CTaskDialog Class kan visa ett obegränsat antal kommandoknappskontroller. Men om en CTaskDialog visar några kommandoknappskontroller kan den visa högst sex knappar. Om en CTaskDialog inte har några kommandoknappskontroller kan den visa ett obegränsat antal knappar.

När användaren väljer en kommandoknappskontroll stängs CTaskDialog. Om programmet visar dialogrutan med hjälp av CTaskDialog::D oModalreturnerar DoModalnCommandControlID- för den valda kommandoknappskontrollen.

Exempel

// 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

Lägger till en alternativknapp i CTaskDialog.

void CTaskDialog::AddRadioButton(
    int nRadioButtonID,
    const CString& strCaption,
    BOOL bEnabled = TRUE);

Parametrar

nRadioButtonID
[i] Radioknappens ID-nummer.

strCaption
[i] Strängen som CTaskDialog visar bredvid alternativknappen.

bEnabled
[i] En boolesk parameter som anger om alternativknappen är aktiverad.

Anmärkningar

Med alternativknapparna för CTaskDialog Class kan du samla in information från användaren. Använd funktionen CTaskDialog::GetSelectedRadioButtonID för att avgöra vilken alternativknapp som väljs.

CTaskDialog kräver inte att parametrarna nRadioButtonID är unika för varje alternativknapp. Du kan dock uppleva ett oväntat beteende om du inte använder en distinkt identifierare för varje alternativknapp.

Exempel

// 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

Klickar på en kommandoknappskontroll eller en gemensam knapp programmatiskt.

protected:
void ClickCommandControl(int nCommandControlID) const;

Parametrar

nCommandControlID
[i] Kommando-ID:t för kontrollen som ska klickas.

Anmärkningar

Den här metoden genererar windowsmeddelandet TDM_CLICK_BUTTON.

CTaskDialog::ClickRadioButton

Klickar på en alternativknapp programmatiskt.

protected:
void ClickRadioButton(int nRadioButtonID) const;

Parametrar

nRadioButtonID
[i] ID:t för den alternativknapp som ska klickas.

Anmärkningar

Den här metoden genererar windowsmeddelandet TDM_CLICK_RADIO_BUTTON.

CTaskDialog::CTaskDialog

Skapar en instans av CTaskDialog Class.

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(""));

Parametrar

strContent
[i] Strängen som ska användas för innehållet i CTaskDialog.

strMainInstruction
[i] Huvudinstruktionen för CTaskDialog.

strTitle
[i] Rubriken på CTaskDialog.

nCommonButtons
[i] En mask med de vanliga knapparna som ska läggas till i CTaskDialog.

nTaskDialogOptions
[i] Den uppsättning alternativ som ska användas för CTaskDialog.

strFooter
[i] Strängen som ska användas som sidfot.

nIDCommandControlsFirst
[i] Sträng-ID för det första kommandot.

nIDCommandControlsLast
[i] Sträng-ID för det senaste kommandot.

Anmärkningar

Det finns två sätt att lägga till en CTaskDialog i ditt program. Det första sättet är att använda en av konstruktorerna för att skapa en CTaskDialog och visa den med hjälp av CTaskDialog::D oModal. Det andra sättet är att använda den statiska funktionen CTaskDialog::ShowDialog, som gör att du kan visa en CTaskDialog utan att uttryckligen skapa ett CTaskDialog objekt.

Den andra konstruktorn skapar kommandoknappskontroller med hjälp av data från resursfilen i ditt program. Strängtabellen i resursfilen har flera strängar med associerade sträng-ID:t. Den här metoden lägger till en kommandoknappskontroll för varje giltig post i strängtabellen mellan nIDCommandControlsFirst och nCommandControlsLast, inclusive. För dessa kommandoknappskontroller är strängen i strängtabellen kontrollens undertext och sträng-ID:t är kontrollens ID.

En lista över giltiga alternativ finns i CTaskDialog::SetOptions.

Exempel

// 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::D oModal

Visar CTaskDialog och gör den modal.

INT_PTR DoModal (HWND hParent = ::GetActiveWindow());

Parametrar

hParent
[i] Det överordnade fönstret för CTaskDialog.

Returvärde

Ett heltal som motsvarar användarens val.

Anmärkningar

Visar den här instansen av CTaskDialog. Programmet väntar sedan på att användaren ska stänga dialogrutan.

CTaskDialog stängs när användaren väljer en gemensam knapp, en kommandolänkkontroll eller stänger CTaskDialog. Returvärdet är identifieraren som anger hur användaren stängde dialogrutan.

Exempel

// 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

Hämtar antalet vanliga knappar.

int GetCommonButtonCount() const;

Returvärde

Antalet vanliga knappar som är tillgängliga.

Anmärkningar

De vanliga knapparna är standardknapparna som du anger för CTaskDialog::CTaskDialog. CTaskDialog Class visar knapparna längst ned i dialogrutan.

Den uppräknade listan med knappar finns i CommCtrl.h.

CTaskDialog::GetCommonButtonFlag

Konverterar en Windows-standardknapp till den vanliga knapptypen som är associerad med CTaskDialog Class.

int GetCommonButtonFlag(int nButtonId) const;

Parametrar

nButtonId
[i] Standardvärdet för Windows-knappen.

Returvärde

Värdet för motsvarande CTaskDialog gemensam knapp. Om det inte finns någon motsvarande gemensam knapp returnerar den här metoden 0.

CTaskDialog::GetCommonButtonId

Konverterar en av de vanliga knapptyperna som är associerade med CTaskDialog Class till en Standard Windows-knapp.

int GetCommonButtonId(int nFlag);

Parametrar

nFlag
[i] Den vanliga knapptypen som är associerad med klassen CTaskDialog.

Returvärde

Värdet för motsvarande Windows-standardknapp. Om det inte finns någon motsvarande Windows-knapp returnerar metoden 0.

CTaskDialog::GetOptions

Returnerar alternativflaggor för den här CTaskDialog.

int GetOptions() const;

Returvärde

Flaggorna för CTaskDialog.

Anmärkningar

Mer information om vilka alternativ som är tillgängliga för CTaskDialog Classfinns i CTaskDialog::SetOptions.

Exempel

// 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

Returnerar den valda kommandoknappskontrollen.

int GetSelectedCommandControlID() const;

Returvärde

ID:t för den valda kommandoknappskontrollen.

Anmärkningar

Du behöver inte använda den här metoden för att hämta ID:t för kommandoknappen som användaren har valt. Det ID:t returneras av antingen CTaskDialog::D oModal eller CTaskDialog::ShowDialog.

Exempel

// 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

Returnerar den markerade alternativknappen.

int GetSelectedRadioButtonID() const;

Returvärde

ID för den valda alternativknappen.

Anmärkningar

Du kan använda den här metoden när användaren har stängt dialogrutan för att hämta den valda alternativknappen.

Exempel

// 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

Hämtar verifieringstillståndet.

BOOL GetVerificationCheckboxState() const;

Returvärde

SANT om kryssrutan är markerad, FALSE om den inte är det.

Exempel

// 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

Avgör om en kommandoknappskontroll eller -knapp är aktiverad.

BOOL IsCommandControlEnabled(int nCommandControlID) const;

Parametrar

nCommandControlID
[i] ID:t för kommandoknappskontrollen eller -knappen som ska testas.

Returvärde

SANT om kontrollen är aktiverad, FALSE om den inte är det.

Anmärkningar

Du kan använda den här metoden för att fastställa tillgängligheten för både kommandoknappskontroller och de vanliga knapparna i CTaskDialog-klassen*.

Om nCommandControlID inte är en giltig identifierare för antingen en gemensam CTaskDialog-knapp eller en kommandoknappskontroll, utlöser den här metoden ett undantag.

Exempel

// 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

Avgör om en alternativknapp är aktiverad.

BOOL IsRadioButtonEnabled(int nRadioButtonID) const;

Parametrar

nRadioButtonID
[i] ID:t för den alternativknapp som ska testas.

Returvärde

SANT om alternativknappen är aktiverad, FALSE om den inte är det.

Anmärkningar

Om nRadioButtonID inte är en giltig identifierare för en alternativknapp utlöser den här metoden ett undantag.

Exempel

// 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

Avgör om datorn som kör programmet stöder CTaskDialog.

static BOOL IsSupported();

Returvärde

TRUE om datorn stöder CTaskDialog; ANNARS FALSKT.

Anmärkningar

Använd den här funktionen för att avgöra vid körning om datorn som kör programmet stöder klassen CTaskDialog. Om datorn inte stöder CTaskDialogbör du ange en annan metod för att kommunicera information till användaren. Programmet kraschar om det försöker använda en CTaskDialog på en dator som inte stöder CTaskDialog-klassen.

Exempel

// 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

Lägger till kommandoknappskontroller med hjälp av data från strängtabellen.

void LoadCommandControls(
    int nIDCommandControlsFirst,
    int nIDCommandControlsLast);

Parametrar

nIDCommandControlsFirst
[i] Sträng-ID för det första kommandot.

nIDCommandControlsLast
[i] Sträng-ID för det senaste kommandot.

Anmärkningar

Den här metoden skapar kommandoknappskontroller med hjälp av data från resursfilen i ditt program. Strängtabellen i resursfilen har flera strängar med associerade sträng-ID:t. Nya kommandoknappskontroller som lagts till med hjälp av den här metoden använder strängen för kontrollens undertext och sträng-ID för kontrollens ID. Det valda strängintervallet tillhandahålls av nIDCommandControlsFirst och nCommandControlsLast, inclusive. Om det finns en tom post i intervallet lägger metoden inte till någon kommandoknappskontroll för posten.

Som standard är nya kommandoknappskontroller aktiverade och kräver inte utökade privilegier.

Exempel

// 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

Lägger till alternativknappskontroller med hjälp av data från strängtabellen.

void LoadRadioButtons(
    int nIDRadioButtonsFirst,
    int nIDRadioButtonsLast);

Parametrar

nIDRadioButtonsFirst
[i] Sträng-ID för den första alternativknappen.

nIDRadioButtonsLast
[i] Sträng-ID för den sista alternativknappen.

Anmärkningar

Den här metoden skapar alternativknappar med hjälp av data från programmets resursfil. Strängtabellen i resursfilen har flera strängar med associerade sträng-ID:t. Nya alternativknappar som lagts till med den här metoden använder strängen för alternativknappens bildtext och sträng-ID:t för alternativknappens ID. Det valda strängintervallet tillhandahålls av nIDRadioButtonsFirst och nRadioButtonsLast, inclusive. Om det finns en tom post i intervallet lägger metoden inte till någon alternativknapp för posten.

Som standard är nya alternativknappar aktiverade.

Exempel

// 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);

Överför fokus till en annan CTaskDialog.

protected:
void NavigateTo(CTaskDialog& oTaskDialog) const;

Parametrar

oTaskDialog
[i] Den CTaskDialog som tar emot fokus.

Anmärkningar

Den här metoden döljer den aktuella CTaskDialog när den visar oTaskDialog. oTaskDialog visas på samma plats som den aktuella CTaskDialog.

CTaskDialog::OnCommandControlClick

Ramverket anropar den här metoden när användaren klickar på en kommandoknappskontroll.

virtual HRESULT OnCommandControlClick(int nCommandControlID);

Parametrar

nCommandControlID
[i] ID:t för kommandoknappskontrollen som användaren valde.

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnCreate

Ramverket anropar den här metoden när den har skapat CTaskDialog.

virtual HRESULT OnCreate();

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnDestroy

Ramverket anropar den här metoden omedelbart innan den förstör CTaskDialog.

virtual HRESULT OnDestroy();

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnExpandButtonClick

Ramverket anropar den här metoden när användaren klickar på expansionsknappen.

virtual HRESULT OnExpandButtonClicked(BOOL bExpanded);

Parametrar

bExpanded
[i] Ett värde som inte är noll anger att den extra informationen visas. 0 anger att den extra informationen är dold.

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnHelp

Ramverket anropar den här metoden när användaren begär hjälp.

virtual HRESULT OnHelp();

Returvärde

Standardimplementeringen returnerar S_FALSE.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnHyperlinkClick

Ramverket anropar den här metoden när användaren klickar på en hyperlänk.

virtual HRESULT OnHyperlinkClick(const CString& strHref);

Parametrar

strHref
[i] Strängen som representerar hyperlänken.

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Den här metoden anropar ShellExecute innan den returnerar S_OK.

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnInit

Ramverket anropar den här metoden när CTaskDialog initieras.

virtual HRESULT OnInit();

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnNavigatePage

Ramverket anropar den här metoden som svar på metoden CTaskDialog::NavigateTo.

virtual HRESULT OnNavigatePage();

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnRadioButtonClick

Ramverket anropar den här metoden när användaren väljer en alternativknappskontroll.

virtual HRESULT OnRadioButtonClick(int nRadioButtonID);

Parametrar

nRadioButtonID
[i] ID:t för den alternativknappskontroll som användaren klickade på.

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnTimer

Ramverket anropar den här metoden när timern upphör att gälla.

virtual HRESULT OnTimer(long lTime);

Parametrar

lTime
[i] Tid i millisekunder sedan CTaskDialog skapades eller timern återställdes.

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::OnVerificationCheckboxClick

Ramverket anropar den här metoden när användaren klickar på verifieringsrutan.

virtual HRESULT OnVerificationCheckboxClick(BOOL bChecked);

Parametrar

bCheckade
[i] TRUE anger att kryssrutan verifiering är markerad. FALSE anger att det inte är det.

Returvärde

Standardimplementeringen returnerar S_OK.

Anmärkningar

Åsidosätt den här metoden i en härledd klass för att implementera anpassat beteende.

CTaskDialog::RemoveAllCommandControls

Tar bort alla kommandoknappskontroller från CTaskDialog.

void RemoveAllCommandControls();

Exempel

// 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

Tar bort alla alternativknappar från CTaskDialog.

void RemoveAllRadioButtons();

Exempel

// 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

Uppdaterar en kommandoknappskontroll på CTaskDialog.

void SetCommandControlOptions(
    int nCommandControlID,
    BOOL bEnabled,
    BOOL bRequiresElevation = FALSE);

Parametrar

nCommandControlID
[i] ID:t för den kommandokontroll som ska uppdateras.

bEnabled
[i] En boolesk parameter som anger om den angivna kommandoknappskontrollen är aktiverad eller inaktiverad.

bRequiresElevation
[i] En boolesk parameter som anger om den angivna kommandoknappskontrollen kräver utökade privilegier.

Anmärkningar

Använd den här metoden om du vill ändra om en kommandoknappskontroll är aktiverad eller kräver utökade privilegier när den har lagts till i klassen CTaskDialog.

Exempel

// 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

Uppdaterar en delmängd av vanliga knappar som ska aktiveras och för att kräva UAC-höjning.

void SetCommonButtonOptions(
    int nDisabledButtonMask,
    int nElevationButtonMask = 0);

Parametrar

nDisabledButtonMask
[i] En mask för de vanliga knapparna som ska inaktiveras.

nElevationButtonMask
[i] En mask för de vanliga knappar som kräver utökade privilegier.

Anmärkningar

Du kan ange de vanliga knapparna som är tillgängliga för en instans av CTaskDialog Class med hjälp av konstruktorn CTaskDialog::CTaskDialog och metoden CTaskDialog::SetCommonButtons. CTaskDialog::SetCommonButtonOptions stöder inte tillägg av nya vanliga knappar.

Om du använder den här metoden för att inaktivera eller höja en gemensam knapp som inte är tillgänglig för den här CTaskDialoggenererar den här metoden ett undantag med hjälp av SE till att makro.

Den här metoden aktiverar alla knappar som är tillgängliga för CTaskDialog men som inte finns i nDisabledButtonMask, även om den tidigare var inaktiverad. Den här metoden behandlar utökade privilegier på ett liknande sätt: den registrerar vanliga knappar som inte kräver utökade privilegier om den gemensamma knappen är tillgänglig men inte ingår i nElevationButtonMask.

Exempel

// 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

Lägger till vanliga knappar i CTaskDialog.

void SetCommonButtons(
    int nButtonMask,
    int nDisabledButtonMask = 0,
    int nElevationButtonMask = 0);

Parametrar

nButtonMask
[i] En mask av knapparna som ska läggas till i CTaskDialog.

nDisabledButtonMask
[i] En mask av knapparna som ska inaktiveras.

nElevationButtonMask
[i] En mask av knapparna som kräver utökade privilegier.

Anmärkningar

Du kan inte anropa den här metoden när visningsfönstret för den här instansen av CTaskDialog-klassen har skapats. Om du gör det utlöser den här metoden ett undantag.

Knapparna som anges av nButtonMask åsidosätta alla vanliga knappar som tidigare lagts till i CTaskDialog. Endast knapparna som anges i nButtonMask är tillgängliga.

Om antingen nDisabledButtonMask eller nElevationButtonMask innehålla en knapp som inte finns i nButtonMask, genererar den här metoden ett undantag med hjälp av ENSURE makro.

Som standard är alla vanliga knappar aktiverade och kräver inte utökade privilegier.

Exempel

// 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

Uppdaterar innehållet i CTaskDialog.

void SetContent(const CString& strContent);

Parametrar

strContent
[i] Strängen som ska visas för användaren.

Anmärkningar

Innehållet i klassen CTaskDialog är den text som visas för användaren i huvudavsnittet i dialogrutan.

Exempel

// 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

Anger standardkommandoknappkontrollen.

void SetDefaultCommandControl(int nCommandControlID);

Parametrar

nCommandControlID
[i] ID:t för kommandoknappskontrollen som standard.

Anmärkningar

Standardkommandoknappen är den kontroll som väljs när CTaskDialog först visas för användaren.

Den här metoden genererar ett undantag om den inte hittar kommandoknappskontrollen som anges av nCommandControlID.

Exempel

// 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

Anger standardknappen för alternativ.

void SetDefaultRadioButton(int nRadioButtonID);

Parametrar

nRadioButtonID
[i] ID:t för alternativknappen som standard.

Anmärkningar

Standardalternativknappen är den knapp som väljs när CTaskDialog först visas för användaren.

Den här metoden genererar ett undantag om den inte hittar den alternativknapp som anges av nRadioButtonID.

Exempel

// 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

Justerar bredden på CTaskDialog.

void SetDialogWidth(int nWidth = 0);

Parametrar

nWidth
[i] Dialogrutans bredd i bildpunkter.

Anmärkningar

Parametern nWidth måste vara större än eller lika med 0. Annars utlöser den här metoden ett undantag.

Om nWidth- är inställt på 0 anger den här metoden dialogrutan till standardstorleken.

Exempel

// 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

Uppdaterar expansionsområdet för CTaskDialog.

void SetExpansionArea(
    const CString& strExpandedInformation,
    const CString& strCollapsedLabel = _T(""),
    const CString& strExpandedLabel = _T(""));

Parametrar

strExpandedInformation
[i] Strängen som CTaskDialog visas i huvudtexten i dialogrutan när användaren klickar på expansionsknappen.

strCollapsedLabel
[i] Strängen som CTaskDialog visar bredvid expansionsknappen när det expanderade området komprimeras.

strExpandedLabel
[i] Strängen som CTaskDialog visar bredvid expansionsknappen när det expanderade området visas.

Anmärkningar

Med expansionsområdet för klassen CTaskDialog kan du ge användaren ytterligare information. Expansionsområdet finns i huvuddelen av CTaskDialog, som finns direkt under rubrik- och innehållssträngen.

När CTaskDialog först visas visar den inte den expanderade informationen och placerar strCollapsedLabel bredvid expansionsknappen. När användaren klickar på expansionsknappen visar CTaskDialogstrExpandedInformation och ändrar etiketten till strExpandedLabel.

Exempel

// 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

Uppdaterar sidfotsikonen för CTaskDialog.

void SetFooterIcon(HICON hFooterIcon);
void SetFooterIcon(LPCWSTR lpszFooterIcon);

Parametrar

hFooterIcon
[i] Den nya ikonen för CTaskDialog.

lpszFooterIcon
[i] Den nya ikonen för CTaskDialog.

Anmärkningar

Sidfotsikonen visas längst ned i CTaskDialog Class. Den kan ha associerad sidfotstext. Du kan ändra sidfotstexten med CTaskDialog::SetFooterText.

Den här metoden genererar ett undantag med KONTROLLERA makro om CTaskDialog visas eller om indataparametern är NULL.

En CTaskDialog kan bara acceptera en HICON eller LPCWSTR som en sidfotsikon. Detta konfigureras genom att ange alternativet TDF_USE_HICON_FOOTER i konstruktorn eller CTaskDialog::SetOptions. Som standard är CTaskDialog konfigurerad att använda LPCWSTR som indatatyp för sidfotsikonen. Den här metoden genererar ett undantag om du försöker ange ikonen med den olämpliga typen.

Exempel

// 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

Uppdaterar texten på sidfoten för CTaskDialog.

void SetFooterText(const CString& strFooterText);

Parametrar

strFooterText
[i] Den nya texten för sidfoten.

Anmärkningar

Sidfotsikonen visas bredvid sidfotstexten längst ned i CTaskDialog. Du kan ändra sidfotsikonen med CTaskDialog::SetFooterIcon.

Exempel

// 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

Uppdaterar huvudikonen för CTaskDialog.

void SetMainIcon(HICON hMainIcon);
void SetMainIcon(LPCWSTR lpszMainIcon);

Parametrar

hMainIcon
[i] Den nya ikonen.

lpszMainIcon
[i] Den nya ikonen.

Anmärkningar

Den här metoden genererar ett undantag med KONTROLLERA makro om CTaskDialog visas eller om indataparametern är NULL.

En CTaskDialog kan bara acceptera en HICON eller LPCWSTR som en huvudikon. Du kan konfigurera detta genom att ange alternativet TDF_USE_HICON_MAIN i konstruktorn eller i metoden CTaskDialog::SetOptions. Som standard är CTaskDialog konfigurerad att använda LPCWSTR som indatatyp för huvudikonen. Den här metoden genererar ett undantag om du försöker ange ikonen med den olämpliga typen.

Exempel

// 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

Uppdaterar huvudinstruktionen för CTaskDialog.

void SetMainInstruction(const CString& strInstructions);

Parametrar

strInstructions
[i] Den nya huvudinstruktionen.

Anmärkningar

Huvudinstruktionen för klassen CTaskDialog är text som visas för användaren med ett stort fetstilt teckensnitt. Den finns i dialogrutan under namnlisten.

Exempel

// 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

Konfigurerar alternativen för CTaskDialog.

void SetOptions(int nOptionFlag);

Parametrar

nOptionFlag
[i] Den uppsättning flaggor som ska användas för CTaskDialog.

Anmärkningar

Den här metoden rensar alla aktuella alternativ för CTaskDialog. Om du vill behålla de aktuella alternativen måste du hämta dem först med CTaskDialog::GetOptions och kombinera dem med de alternativ som du vill ange.

I följande tabell visas alla giltiga alternativ.

Namn Beskrivning
TDF_ENABLE_HYPERLINKS Aktiverar hyperlänkar i CTaskDialog.
TDF_USE_HICON_MAIN Konfigurerar CTaskDialog att använda en HICON för huvudikonen. Alternativet är att använda en LPCWSTR.
TDF_USE_HICON_FOOTER Konfigurerar CTaskDialog att använda en HICON för sidfotsikonen. Alternativet är att använda en LPCWSTR.
TDF_ALLOW_DIALOG_CANCELLATION Gör att användaren kan stänga CTaskDialog med hjälp av tangentbordet eller med hjälp av ikonen i det övre högra hörnet i dialogrutan, även om knappen Avbryt inte är aktiverad. Om den här flaggan inte har angetts och knappen Avbryt inte är aktiverad kan användaren inte stänga dialogrutan med hjälp av Alt+F4, Escape-tangenten eller namnlistens stängningsknapp.
TDF_USE_COMMAND_LINKS Konfigurerar CTaskDialog att använda kommandoknappskontroller.
TDF_USE_COMMAND_LINKS_NO_ICON Konfigurerar CTaskDialog att använda kommandoknappskontroller utan att visa en ikon bredvid kontrollen. TDF_USE_COMMAND_LINKS åsidosätter TDF_USE_COMMAND_LINKS_NO_ICON.
TDF_EXPAND_FOOTER_AREA Anger att expansionsområdet för närvarande är expanderat.
TDF_EXPANDED_BY_DEFAULT Avgör om expansionsområdet expanderas som standard.
TDF_VERIFICATION_FLAG_CHECKED Anger att kryssrutan verifiering är markerad för tillfället.
TDF_SHOW_PROGRESS_BAR Konfigurerar CTaskDialog för att visa en förloppsindikator.
TDF_SHOW_MARQUEE_PROGRESS_BAR Konfigurerar förloppsindikatorn till en förloppsindikator för markeringsramen. Om du aktiverar det här alternativet måste du ange TDF_SHOW_PROGRESS_BAR att ha det förväntade beteendet.
TDF_CALLBACK_TIMER Anger att det CTaskDialog återanropsintervallet är inställt på cirka 200 millisekunder.
TDF_POSITION_RELATIVE_TO_WINDOW Konfigurerar CTaskDialog att centreras i förhållande till det överordnade fönstret. Om den här flaggan inte är aktiverad är CTaskDialog centrerad i förhållande till övervakaren.
TDF_RTL_LAYOUT Konfigurerar CTaskDialog för en läslayout från höger till vänster.
TDF_NO_DEFAULT_RADIO_BUTTON Anger att ingen alternativknapp är markerad när CTaskDialog visas.
TDF_CAN_BE_MINIMIZED Gör att användaren kan minimera CTaskDialog. För att stödja det här alternativet kan CTaskDialog inte vara modal. MFC stöder inte det här alternativet eftersom MFC inte stöder en lägeslös CTaskDialog.

Exempel

// 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

Konfigurerar ett markeringsfält för CTaskDialog och lägger till det i dialogrutan.

void SetProgressBarMarquee(
    BOOL bEnabled = TRUE,
    int nMarqueeSpeed = 0);

Parametrar

bEnabled
[i] TRUE för att aktivera markeringsramen. FALSE för att inaktivera markeringsramen och ta bort den från CTaskDialog.

nMarqueeSpeed
[i] Ett heltal som anger markeringsramens hastighet.

Anmärkningar

Markeringsramsfältet visas under huvudtexten i klassen CTaskDialog.

Använd nMarqueeSpeed för att ange markeringsramens hastighet. större värden anger en långsammare hastighet. Värdet 0 för nMarqueeSpeed gör att markeringsramsfältet flyttas med standardhastigheten för Windows.

Den här metoden genererar ett undantag med KONTROLLERA makro om nMarqueeSpeed är mindre än 0.

Exempel

// 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

Justerar förloppsindikatorns position.

void SetProgressBarPosition(int nProgressPos);

Parametrar

nProgressPos
[i] Positionen för förloppsindikatorn.

Anmärkningar

Den här metoden genererar ett undantag med KONTROLLERA makro om nProgressPos inte finns i förloppsindikatorintervallet. Du kan ändra förloppsindikatorintervallet med CTaskDialog::SetProgressBarRange.

Exempel

// 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

Justerar förloppsindikatorns intervall.

void SetProgressBarRange(
    int nRangeMin,
    int nRangeMax);

Parametrar

nRangeMin
[i] Förloppsindikatorns nedre gräns.

nRangeMax
[i] Förloppsindikatorns övre gräns.

Anmärkningar

Förloppsindikatorns position är relativ till nRangeMin och nRangeMax. Om till exempel nRangeMin är 50 och nRangeMax är 100, är en position på 75 halvvägs över förloppsindikatorn. Använd CTaskDialog::SetProgressBarPosition för att ange statusfältets position.

Om du vill visa förloppsindikatorn måste alternativet TDF_SHOW_PROGRESS_BAR vara aktiverat och TDF_SHOW_MARQUEE_PROGRESS_BAR får inte vara aktiverat. Den här metoden anger automatiskt TDF_SHOW_PROGRESS_BAR och rensar TDF_SHOW_MARQUEE_PROGRESS_BAR. Använd CTaskDialog::SetOptions för att manuellt ändra alternativen för den här instansen av CTaskDialog Class.

Den här metoden genererar ett undantag med makrot ENSURE om nRangeMin inte är mindre än nRangeMax. Den här metoden genererar också ett undantag om CTaskDialog redan visas och har en förloppsindikator för markeringsramen.

Exempel

// 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

Anger status för förloppsindikatorn och visar den på CTaskDialog.

void SetProgressBarState(int nState = PBST_NORMAL);

Parametrar

nState
[i] Status för förloppsindikatorn. Se avsnittet Kommentarer för möjliga värden.

Anmärkningar

Den här metoden genererar ett undantag med SE till att makro om CTaskDialog redan visas och har en förloppsindikator för markeringsramen.

I följande tabell visas möjliga värden för nState. I alla dessa fall fylls förloppsindikatorn med den vanliga färgen tills den når den avsedda stopppositionen. Då ändras färgen baserat på tillståndet.

Namn Beskrivning
PBST_NORMAL När förloppsindikatorn har fyllts ändrar CTaskDialog inte färgen på fältet. Som standard är den vanliga färgen grön.
PBST_ERROR När förloppsindikatorn har fyllts ändrar CTaskDialog färgen på fältet till felfärgen. Som standard är detta rött.
PBST_PAUSED När förloppsindikatorn har fyllts ändrar CTaskDialog färgen på fältet till den pausade färgen. Som standard är detta gult.

Du kan ange var förloppsindikatorn slutar med CTaskDialog::SetProgressBarPosition.

Exempel

// 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

Aktiverar eller inaktiverar en alternativknapp.

void SetRadioButtonOptions(
    int nRadioButtonID,
    BOOL bEnabled);

Parametrar

nRadioButtonID
[i] ID:t för alternativknappskontrollen.

bEnabled
[i] TRUE för att aktivera alternativknappen; FALSE för att inaktivera alternativknappen.

Anmärkningar

Den här metoden genererar ett undantag med SE makro om nRadioButtonID inte är ett giltigt ID för en alternativknapp.

Exempel

// 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

Anger kryssrutan för verifieringens markerade tillstånd.

void SetVerificationCheckbox(BOOL bChecked);

Parametrar

bCheckade
[i] SANT om du vill att verifieringsmarkeringen ska vara markerad när CTaskDialog visas. FALSE om du vill att verifieringsrutan ska vara avmarkerad när CTaskDialog visas.

Exempel

// 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

Anger den text som visas till höger om verifieringsrutan.

void SetVerificationCheckboxText(CString& strVerificationText);

Parametrar

strVerificationText
[i] Den text som den här metoden visar bredvid verifieringsruterutan.

Anmärkningar

Den här metoden genererar ett undantag med KONTROLLERA makro om den här instansen av klassen CTaskDialog redan visas.

Exempel

// 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

Anger rubriken för CTaskDialog.

void SetWindowTitle(CString& strWindowTitle);

Parametrar

strWindowTitle
[i] Den nya rubriken för CTaskDialog.

Anmärkningar

Exempel

// 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

Skapar och visar en 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(""));

Parametrar

strContent
[i] Strängen som ska användas för innehållet i CTaskDialog.

strMainInstruction
[i] Huvudinstruktionen för CTaskDialog.

strTitle
[i] Rubriken på CTaskDialog.

nIDCommandControlsFirst
[i] Sträng-ID för det första kommandot.

nIDCommandControlsLast
[i] Sträng-ID för det senaste kommandot.

nCommonButtons
[i] En mask av knapparna som ska läggas till i CTaskDialog.

nTaskDialogOptions
[i] Den uppsättning alternativ som ska användas för CTaskDialog.

strFooter
[i] Strängen som ska användas som sidfot.

Returvärde

Ett heltal som motsvarar användarens val.

Anmärkningar

Med den här statiska metoden kan du skapa en instans av klassen CTaskDialog utan att uttryckligen skapa ett CTaskDialog objekt i koden. Eftersom det inte finns något CTaskDialog objekt kan du inte anropa andra metoder i CTaskDialog om du använder den här metoden för att visa en CTaskDialog för användaren.

Den här metoden skapar kommandoknappskontroller med hjälp av data från resursfilen i ditt program. Strängtabellen i resursfilen har flera strängar med associerade sträng-ID:t. Den här metoden lägger till en kommandoknappskontroll för varje giltig post i strängtabellen mellan nIDCommandControlsFirst och nCommandControlsLast, inclusive. För dessa kommandoknappskontroller är strängen i strängtabellen kontrollens undertext och sträng-ID:t är kontrollens ID.

En lista över giltiga alternativ finns i CTaskDialog::SetOptions.

CTaskDialog stängs när användaren väljer en gemensam knapp, en kommandolänkkontroll eller stänger CTaskDialog. Returvärdet är identifieraren som anger hur användaren stängde dialogrutan.

Exempel

// 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

Ramverket anropar den här metoden som svar på olika Windows-meddelanden.

friend:
HRESULT TaskDialogCallback(
    HWND hWnd,
    UINT uNotification,
    WPARAM wParam,
    LPARAM lParam,
    LONG_PTR dwRefData);

Parametrar

hwnd
[i] Ett handtag till m_hWnd-strukturen för CTaskDialog.

uNotification
[i] Meddelandekoden som anger det genererade meddelandet.

wParam
[i] Mer information om meddelandet.

lParam
[i] Mer information om meddelandet.

dwRefData
[i] En pekare till det CTaskDialog objekt som motringningsmeddelandet gäller för.

Returvärde

Beror på den specifika meddelandekoden. Mer information finns i avsnittet Kommentarer.

Anmärkningar

Standardimplementeringen av TaskDialogCallback hanterar det specifika meddelandet och anropar sedan lämplig På-metod för CTaskDialog Class. Som svar på meddelandet TDN_BUTTON_CLICKED anropar TaskDialogCallback till exempel CTaskDialog::OnCommandControlClick.

Värdena för wParam och lParam beror på det specifika genererade meddelandet. Det är möjligt att antingen eller båda av dessa värden är tomma. I följande tabell visas standardmeddelanden som stöds och vilka värden för wParam och lParam representerar. Om du åsidosätter den här metoden i en härledd klass bör du implementera återanropskoden för varje meddelande i följande tabell.

Meddelande wParam-värde lParam Value
TDN_CREATED Används inte. Används inte.
TDN_NAVIGATED Används inte. Används inte.
TDN_BUTTON_CLICKED Kommandoknappens kontroll-ID. Används inte.
TDN_HYPERLINK_CLICKED Används inte. En LPCWSTR- struktur som innehåller länken.
TDN_TIMER Tid i millisekunder sedan CTaskDialog skapades eller timern återställdes. Används inte.
TDN_DESTROYED Används inte. Används inte.
TDN_RADIO_BUTTON_CLICKED Radioknappens ID. Används inte.
TDN_DIALOG_CONSTRUCTED Används inte. Används inte.
TDN_VERIFICATION_CLICKED 1 om kryssrutan är markerad, 0 om den inte är det. Används inte.
TDN_HELP Används inte. Används inte.
TDN_EXPANDO_BUTTON_CLICKED 0 om expansionsområdet är komprimerat; om expansionstexten visas. Används inte.

Se även

klasser
CObject Class
hierarkidiagram
genomgång: Lägga till en CTaskDialog i ett program