如何在任务对话框中设置默认按钮?

发布于 2025-01-05 06:11:26 字数 260 浏览 1 评论 0原文

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

谢谢,

阿比奈

I am using TaskDialog API in a win32 app. I created a Task Dialog with YES/NO buttons but I can't find any option to set the No button as default. YES button is always the default. Please let me know if there is a way to set the NO button as default. I know TaskDialogIndirect supports a default button option but its an overkill for what i am trying to do. I just want a simple YES/NO Dialog with NO button as default. I did not want to use the MessageBox API because i don't want a close button in the titlebar.

Thanks,

Abhinay

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你的呼吸 2025-01-12 06:11:26

给定:

TASKDIALOGCONFIG tc;

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

tc.nDefaultButton = ...;

“这可以是 TASKDIALOG_BUTTONnButtonID 成员中指定的任何值pButtons 数组中的 code> 结构,或与 dwCommonButtons 成员中指定的按钮对应的 ID 之一:

  • IDCANCEL 将取消按钮设置为默认按钮
  • IDNO 将否按钮设置为默认按钮
  • IDOK 将确定按钮设置为默认按钮。
  • /code> 将“重试”按钮设为默认按钮。
  • IDYES 将“是”按钮
  • 设为默认按钮。”

上面的内容无耻地引用自MSDN

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

Given:

TASKDIALOGCONFIG tc;

Set the default button by setting the nDefaultButton member, e.g.:

tc.nDefaultButton = ...;

"This may be any of the values specified in nButtonID members of one of the TASKDIALOG_BUTTON structures in the pButtons array, or one of the IDs corresponding to the buttons specified in the dwCommonButtons member:

  • IDCANCEL Make the Cancel button the default.
  • IDNO Make the No button the default.
  • IDOK Make the OK button the default.
  • IDRETRY Make the Retry button the default.
  • IDYES Make the Yes button the default.
  • IDCLOSE Make the Close button the default."

The above bit shamelessly quoted from MSDN.

So basically, if you're using the standard predefined buttons, set the field to one of the above constants; if you're using a custom button, set it to the ID you use when specifying the button.

徒留西风 2025-01-12 06:11:26

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

In addition to answer given by David, I would add my two cents - If you are using MFC, you may use CTaskDialog class.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文