系统内置对话框
MessageBox(Ex|Indirect):最简单的消息框,功能有限,但有时候非常方便。
TaskDialog(Indirect):用于Windows Vista+,需要声明comctl32 v6.0,可用于创建Vista风格的消息框。
通用对话框(Common Dialogs):ChooseColor、ChooseFont、GetOpenFileName、GetSaveFileName、PageSetupDlg、PrintDlg、PrintDlgEx、FindText、ReplaceText等。
Shell对话框:ShellAbout、SHBrowseForFolder、RestartDialog(Ex)等。
Toolbar的“自定义工具栏”对话框。
自定义模板对话框
DialogBox(Param):用于按照rc资源中的对话框模板创建模态对话框,这种对话框使用对话框回调而不是窗口回调,并且会阻塞程序运行和父窗口获得焦点,因此也称独占式对话框。
CreateDialog(Param):用于按照rc资源中的对话框模板创建非模态对话框,这种对话框拥有与DialogBox一样的对话框回调,但是不会阻塞程序运行。
<code class="language-cpp">MSG msg = {}; while (GetMessage(&msg, NULL, 0, 0)) { if (IsDialogMessage(hDlg, &msg)) continue; TranslateMessage(&msg); DispatchMessage(&msg); } </code>
PropertySheet:用于创建带选项卡的对话框,也可用于创建向导界面。控制面板上很多对话框也是使用PropertySheet函数弹出的,并不是直接使用DialogBox,比如“日期与时间”对话框与“添加硬件”向导。
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |