TaskDialog 函数是 Windows API 中用于显示任务对话框的函数。任务对话框是一种通用的对话框,用于替代传统的 MessageBox 函数,提供更多的功能和定制选项。这个函数属于 Commctrl.h 头文件。以下是函数的声明和简要说明:
HRESULT TaskDialog(
  HWND                           hwndOwner,
  HINSTANCE                      hInstance,
  PCWSTR                         pszWindowTitle,
  PCWSTR                         pszMainInstruction,
  PCWSTR                         pszContent,
  TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons,
  PCWSTR                         pszIcon,
  int                            *pnButton
);

  •  hwndOwner: 任务对话框的所有者窗口句柄。

  •  hInstance: 包含对话框资源的实例句柄。通常为 NULL。

  •  pszWindowTitle: 对话框的标题栏文本。

  •  pszMainInstruction: 对话框的主要指令文本。

  •  pszContent: 对话框的内容文本。

  •  dwCommonButtons: 一个标志位,指定对话框中显示哪些常用按钮(例如 "确定"、"取消" 等)。

  •  pszIcon: 对话框中显示的图标的资源名称或者MAKEINTRESOURCE 创建的图标 ID。

  •  pnButton: 一个指向整数的指针,用于接收用户按下的按钮的 ID。


这个函数用于创建并显示一个任务对话框,并返回用户按下的按钮的 ID。它允许您通过传递不同的参数来定制对话框的外观和行为。

示例代码:
#include <windows.h>
#include <commctrl.h>

int main() {
    // 初始化 CommCtrl 模块
    INITCOMMONCONTROLSEX icex;
    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
    icex.dwICC = ICC_WIN95_CLASSES; // 使用 CommCtrl 版本
    InitCommonControlsEx(&icex);

    // 显示任务对话框
    int nButton;
    TaskDialog(NULL, NULL, L"标题", L"主要指令", L"这是任务对话框的内容。",
               TDCBF_YES_BUTTON | TDCBF_NO_BUTTON, TD_INFORMATION_ICON, &nButton);

    return 0;
}

上述示例代码使用 TaskDialog 函数创建一个简单的任务对话框,包含 "确定" 和 "取消" 两个按钮。请确保在使用这个函数之前,已经初始化了 CommCtrl 模块。


转载请注明出处:http://www.zyzy.cn/article/detail/24823/Win32 API/Commctrl.h/TaskDialog