--- /dev/null
+//////////////////////////////////////////////\r
+// TaskDialogApp.cpp\r
+\r
+#include "stdafx.h"\r
+#include "TaskDialogApp.h"\r
+#include "MyTaskDialog.h"\r
+#include "Resource.h"\r
+\r
+// Definitions for the CTaskDialogApp class\r
+CTaskDialogApp::CTaskDialogApp()\r
+{\r
+}\r
+\r
+CTaskDialogApp::~CTaskDialogApp()\r
+{\r
+}\r
+\r
+BOOL CTaskDialogApp::InitInstance()\r
+{\r
+ ::InitCommonControls();\r
+\r
+ // Create the TaskDialog object\r
+ if (!CTaskDialog::IsSupported())\r
+ {\r
+ // Task Dialogs are only supported on Vista and above\r
+ MessageBox(NULL, _T("Vista or better is required for Task Dialogs"), _T("Not Supported!"), MB_ICONERROR); \r
+ return FALSE;\r
+ }\r
+\r
+ CMyTaskDialog td;\r
+ \r
+ td.SetOptions( TDF_ALLOW_DIALOG_CANCELLATION | TDF_USE_COMMAND_LINKS | TDF_EXPANDED_BY_DEFAULT | TDF_SHOW_PROGRESS_BAR | TDF_CALLBACK_TIMER);\r
+ \r
+ // Add the buttons\r
+ td.AddCommandControl( CB_FIRST, MAKEINTRESOURCE(IDS_CB_FIRST) );\r
+ td.AddCommandControl( CB_SECOND, MAKEINTRESOURCE(IDS_CB_SECOND) );\r
+ td.AddCommandControl( CB_THIRD, MAKEINTRESOURCE(IDS_CB_THIRD) );\r
+ td.AddRadioButton( RB_FIRST, MAKEINTRESOURCE(IDS_RB_FIRST) );\r
+ td.AddRadioButton( RB_SECOND, MAKEINTRESOURCE(IDS_RB_SECOND) );\r
+ td.AddRadioButton( RB_THIRD, MAKEINTRESOURCE(IDS_RB_THIRD) );\r
+ td.SetDefaultRadioButton( RB_FIRST );\r
+ td.SetCommonButtons( TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON );\r
+\r
+ // Add the Text\r
+ td.SetWindowTitle( MAKEINTRESOURCE(IDS_WINDOWTITLE) );\r
+ td.SetMainInstruction( MAKEINTRESOURCE(IDS_MAININSTRUCTION) );\r
+ td.SetContent( MAKEINTRESOURCE(IDS_CONTENT) );\r
+ td.SetExpansionArea( MAKEINTRESOURCE(IDS_EXPANDED), _T("Hide the expanded information"), _T("Show the expanded information") );\r
+ td.SetVerificationCheckboxText( MAKEINTRESOURCE(IDS_VERIFICATIONTEXT) );\r
+ td.SetFooterText( MAKEINTRESOURCE(IDS_FOOTER) );\r
+\r
+ // Set Icons\r
+ td.SetMainIcon(TD_INFORMATION_ICON);\r
+ td.SetFooterIcon(TD_INFORMATION_ICON);\r
+\r
+ // Run the task dialog\r
+ HRESULT hr = td.DoModal();\r
+\r
+ // Respond to the result\r
+ if (SUCCEEDED(hr))\r
+ {\r
+ switch (td.GetSelectedButtonID())\r
+ {\r
+ case CB_FIRST:\r
+ TRACE(_T("First command control selected\n"));\r
+ break;\r
+ case CB_SECOND:\r
+ TRACE(_T("Second command control selected\n"));\r
+ break;\r
+ case CB_THIRD:\r
+ TRACE(_T("Third command control selected\n"));\r
+ break;\r
+ case IDYES:\r
+ TRACE(_T("The 'Yes' button was pressed\n"));\r
+ break;\r
+ case IDNO:\r
+ TRACE(_T("The 'No' button was pressed\n"));\r
+ break;\r
+ case IDCANCEL:\r
+ TRACE(_T("The 'Cancel' button was pressed\n"));\r
+ break;\r
+ }\r
+\r
+ switch (td.GetSelectedRadioButtonID())\r
+ {\r
+ case RB_FIRST:\r
+ TRACE(_T("First radio button selected\n"));\r
+ break;\r
+ case RB_SECOND:\r
+ TRACE(_T("Second radio button selected\n"));\r
+ break;\r
+ case RB_THIRD:\r
+ TRACE(_T("Third radio button selected\n"));\r
+ break;\r
+ }\r
+\r
+ if (td.GetVerificationCheckboxState())\r
+ {\r
+ TRACE(_T("Verification button selected\n"));\r
+ }\r
+ }\r
+ else\r
+ {\r
+ TRACE(_T("Some error occurred\n"));\r
+ }\r
+\r
+ return FALSE; // Don't run the message loop\r
+}\r
+\r
+\r