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
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 DoModal
nCommandControlID- 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 CTaskDialog
bö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);
CTaskDialog::NavigateTo
Ö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 CTaskDialog
genererar 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 CTaskDialog
strExpandedInformation 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