任务对话框CTaskDialog
注意:Vista以后的操作系统才支持...
效果图:
关于任务对话框类CTaskDialog的详细说明可以参考MSDN中的说明:
http://msdn.microsoft.com/zh-cn/beginner/dd293651.aspx
以模态对话框的形式弹出任务对话框的方法如下:
1 CString message(_T("这是显示给用户的主要消息")); 2 CString mainInstruction(_T("重要!\n请阅读!")); 3 CString title(_T("任务对话框")); 4 5 CTaskDialog taskDlg(message,mainInstruction, title, 6 TDCBF_YES_BUTTON | TDCBF_NO_BUTTON | TDCBF_CANCEL_BUTTON); 7 8 taskDlg.SetContent(_T("这是任务对话框的主要内容.\n") 9 _T("并且还支持多行显示以及超链接:<a href=\"calc.exe\">calc.exe</a>.")); 10 taskDlg.SetMainInstruction(_T("这是主要的说明\n可以多行显示.")); 11 taskDlg.SetWindowTitle(_T("这是任务对话框的标题")); 12 13 //加入3个命令按钮 14 taskDlg.AddCommandControl(1, _T("命令1 (ID=1)\n第二行.")); 15 taskDlg.AddCommandControl(2, _T("命令2 (ID=2)")); 16 taskDlg.AddCommandControl(3, _T("命令3 (ID=3)\n(需要提升权限)"),TRUE,TRUE); 17 18 //加入2个单选框 19 taskDlg.AddRadioButton(4,_T("单选按钮1(ID=4)")); 20 taskDlg.AddRadioButton(5,_T("单选按钮2(ID=5)")); 21 22 //加入一些可供用户选择显示或隐藏的解释消息; 23 taskDlg.SetExpansionArea(_T("附加信息\n两行显示.") 24 _T("支持超链接:<a href=\"notepad.exe\">notepad.exe</a>"), 25 _T("单击这里查看更多信息."), 26 _T("单击这里来隐藏附加信息.")); 27 28 //配置页脚文本和页脚图标; 29 taskDlg.SetFooterIcon(MAKEINTRESOURCE(IDI_INFORMATION)); 30 taskDlg.SetFooterText(_T("这里是页脚文本.\n第二行页脚文本.\n支持超链接:<a href=\"http://www.baidu.com/\">http://www.baidu.com</a>")); 31 32 //设置任务对话框的主图标; 33 taskDlg.SetMainIcon(m_hIcon); 34 35 //向任务对话框添加一个进度条; 36 taskDlg.SetProgressBarMarquee(); 37 taskDlg.SetProgressBarRange(0, 100); 38 taskDlg.SetProgressBarPosition(50); 39 40 //在任务对话框的底部添加一个复选框; 41 taskDlg.SetVerificationCheckboxText(_T("一直显示这个对话框")); 42 taskDlg.SetVerificationCheckbox(TRUE); 43 44 //配置任务对话框的选项; 45 int options = taskDlg.GetOptions(); 46 options |= TDF_ENABLE_HYPERLINKS; 47 options |= TDF_CALLBACK_TIMER; 48 taskDlg.SetOptions(options); 49 50 //显示任务对话框; 51 taskDlg.DoModal();