如何在任务对话框中设置默认按钮?
我在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
给定:
通过设置
nDefaultButton
成员来设置默认按钮,例如:“这可以是
TASKDIALOG_BUTTON
nButtonID 成员中指定的任何值pButtons
数组中的 code> 结构,或与dwCommonButtons
成员中指定的按钮对应的 ID 之一:IDCANCEL
将取消按钮设置为默认按钮IDNO
将否按钮设置为默认按钮/code> 将“重试”按钮设为默认按钮。
IDYES
将“是”按钮上面的内容无耻地引用自MSDN 。
因此,基本上,如果您使用标准预定义按钮,请将字段设置为上述常量之一;如果您使用自定义按钮,请将其设置为指定按钮时使用的 ID。
Given:
Set the default button by setting the
nDefaultButton
member, e.g.:"This may be any of the values specified in
nButtonID
members of one of theTASKDIALOG_BUTTON
structures in thepButtons
array, or one of the IDs corresponding to the buttons specified in thedwCommonButtons
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.
除了 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.