Windows 如何在TaskDialog中设置默认按钮?

Windows 如何在TaskDialog中设置默认按钮?,windows,winapi,visual-c++,comctl32,Windows,Winapi,Visual C++,Comctl32,我正在win32应用程序中使用TaskDialog API。我创建了一个带有“是/否”按钮的任务对话框,但找不到任何选项将“否”按钮设置为默认值。“是”按钮始终是默认按钮。请告诉我是否有办法将“否”按钮设置为默认值。我知道TaskDialogIndirect支持一个默认按钮选项,但对于我正在尝试的操作来说,这是一个过分的尝试。我只需要一个简单的“是/否”对话框,默认情况下没有按钮。我不想使用MessageBox API,因为我不想在标题栏中使用关闭按钮 谢谢 a Hinay给定: TASKDIA

我正在win32应用程序中使用TaskDialog API。我创建了一个带有“是/否”按钮的任务对话框,但找不到任何选项将“否”按钮设置为默认值。“是”按钮始终是默认按钮。请告诉我是否有办法将“否”按钮设置为默认值。我知道TaskDialogIndirect支持一个默认按钮选项,但对于我正在尝试的操作来说,这是一个过分的尝试。我只需要一个简单的“是/否”对话框,默认情况下没有按钮。我不想使用MessageBox API,因为我不想在标题栏中使用关闭按钮

谢谢

a Hinay

给定:

TASKDIALOGCONFIG tc;
通过设置
nDefaultButton
成员来设置默认按钮,例如:

tc.nDefaultButton = ...;
“这可以是
pButtons
数组中的
TASKDIALOG_按钮
结构之一的
nButtonID
成员中指定的任何值,也可以是与
dwCommonButtons
成员中指定的按钮对应的ID之一:

  • IDCANCEL
    将取消按钮设为默认按钮
  • IDNO
    将No按钮设为默认按钮
  • IDOK
    将“确定”按钮设为默认按钮
  • IDRETRY
    将重试按钮设为默认按钮
  • idies
    将“是”按钮设为默认值
  • IDCLOSE
    将关闭按钮设为默认按钮。“
上面一点


因此,基本上,如果使用标准的预定义按钮,请将字段设置为上述常量之一;如果您使用的是自定义按钮,请将其设置为指定按钮时使用的ID。

除了David给出的答案之外,我还要加上我的两美分-如果您使用的是MFC,您可以使用class