我在win32应用中使用TaskDialog API。我创建了一个带有YES / NO按钮的任务对话框,但我找不到任何选项来将No按钮设置为默认值。 YES按钮始终是默认值。如果有办法将NO按钮设置为默认值,请告诉我。我知道TaskDialogIndirect支持一个默认的按钮选项,但它对我正在尝试做的事情有点过分。我只想要一个简单的YES / NO对话框,默认为NO按钮。我不想使用MessageBox API,因为我不想在标题栏中使用关闭按钮。
谢谢,
阿希奈
答案 0 :(得分:2)
假设:
TASKDIALOGCONFIG tc;
通过设置nDefaultButton
成员设置默认按钮,例如:
tc.nDefaultButton = ...;
"这可能是nButtonID
数组中某个TASKDIALOG_BUTTON
结构的pButtons
成员中指定的任何值,或者是与按钮对应的ID之一在dwCommonButtons
成员中指定:
IDCANCEL
将“取消”按钮设为默认值。IDNO
将“否”按钮设为默认值。IDOK
将“确定”按钮设为默认值。IDRETRY
将重试按钮设为默认值。IDYES
将“是”按钮设为默认值。IDCLOSE
将“关闭”按钮设为默认值。" 以上位shamelessly quoted from MSDN。
基本上,如果您使用标准的预定义按钮,请将该字段设置为上述常量之一;如果您使用自定义按钮,请将其设置为指定按钮时使用的ID。
答案 1 :(得分:0)
除了大卫给出的答案之外,我还要加两分钱 - 如果您使用的是MFC,可以使用CTaskDialog课程。