3

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

谢谢,

阿比奈

4

2 回答 2

2

鉴于:

TASKDIALOGCONFIG tc;

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

tc.nDefaultButton = ...;

“这可能是数组中结构nButtonID之一的成员中指定的任何值,或者是与成员中指定的按钮相对应的 ID 之一:TASKDIALOG_BUTTONpButtonsdwCommonButtons

  • IDCANCEL 将取消按钮设为默认值。
  • IDNO 将“否”按钮设为默认值。
  • IDOK 将确定按钮设为默认值。
  • IDRETRY将“重试”按钮设为默认值。
  • IDYES 将“是”按钮设为默认值。
  • IDCLOSE将关闭按钮设为默认按钮。”

以上有点无耻地引用自 MSDN

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

于 2012-02-13T16:35:24.630 回答
0

除了大卫给出的答案之外,我还要加两分钱 - 如果您使用 MFC,您可以使用CTaskDialog类。

于 2012-02-13T17:53:48.937 回答