1 /** 2 注意:从Windows Vista系统才开始支持CTaskDialog类,所以在使用时最好调用 CTaskDialog::IsSupported() 方法做判断 3 同时:CTaskDialog类只对Unicode应用程序可用, 同时要添加头文件:include "afxtaskdialog.h"的支持 4 */ 5 void CMainFrame::OnCtaskdialog() 6 { 7 if( CTaskDialog::IsSupported() ) // 判断是否支持CTaskDialog类 8 { 9 CTaskDialog taskDlg(_T(""), _T(""), _T("")); 10 taskDlg.SetContent(_T("SetContent方法设置\n") 11 _T("还支持超链接到<a href=\"http:\\\\www.baidu.com\">百度</a>.")); //可以这样续行写,仍然是连在一起的一句话,而且可以使用超链接 12 taskDlg.SetMainInstruction(_T("SetMainInstruction方法设置")_T("内容可以直接写?")); 13 taskDlg.SetWindowTitle(_T("SetWindow方法设置")); 14 15 // 加入3个命令按钮 16 taskDlg.AddCommandControl(1, _T("Command1(ID=1)\nSecond line")); 17 taskDlg.AddCommandControl(2, _T("Command1(ID=2)\t")_T("It is amazing!")); 18 taskDlg.AddCommandControl(3, _T("Command1(ID=3)\t")_T("You are so clever!")); 19 20 // 加入2个单选按钮 21 taskDlg.AddRadioButton(4, _T("Radio button1(ID=4)")); 22 taskDlg.AddRadioButton(5, _T("Radio button2(ID=5)")); 23 24 // 加入一些可供用户选择显示或隐藏的解释消息 25 taskDlg.SetExpansionArea(_T("第一个参数:显示/隐藏消息功能的实现标题"), _T("第二个参数:点击扩展信息"),_T("第三个参数:点此隐藏信息")); 26 // 注意:第一个参数是在扩展信息打开时才出现的标题信息 27 28 // 配置页脚文本和页脚图标 29 taskDlg.SetFooterIcon( MAKEINTRESOURCE( IDI_INFORMATION) ); 30 taskDlg.SetFooterText(_T("Foot Text!支持超链接到<a href=\"http:\\\\www.baidu.com\">百度</a>.")); 31 32 // 设置任务对话框的主图标 33 taskDlg.SetMainIcon(MAKEINTRESOURCE( IDI_ERROR) ); 34 35 // 向任务对话框添加一个进度条 36 taskDlg.SetProgressBarMarquee(); 37 taskDlg.SetProgressBarRange(0, 100); 38 taskDlg.SetProgressBarPosition(30); 39 40 // 在任务对话框的底部添加一个复选框 41 taskDlg.SetVerificationCheckboxText(_T("Always show this dialog?")); 42 taskDlg.SetVerificationCheckbox(TRUE); // 默认选中 43 44 int options = taskDlg.GetOptions(); 45 options != TDF_ENABLE_HYPERLINKS | TDF_CALLBACK_TIMER; 46 taskDlg.SetOptions(options); 47 48 taskDlg.DoModal(); 49 } 50 else 51 { 52 MessageBox(); // 使用标准消息框 53 } 54 }
效果如下所示:
MFC增强----任务对话框CTaskDialog类,布布扣,bubuko.com
原文:http://www.cnblogs.com/dongsheng/p/3632221.html