Как установить кнопку по умолчанию в TaskDialog?
Я использую TaskDialog API в приложении Win32. Я создал диалог задач с кнопками YES/NO, но я не могу найти никакой опции, чтобы установить кнопку Нет по умолчанию. Кнопка YES всегда используется по умолчанию. Пожалуйста, дайте мне знать, если есть способ установить кнопку NO по умолчанию. Я знаю, что TaskDialogIndirect поддерживает опцию кнопки по умолчанию, но это излишество для того, что я пытаюсь сделать. Я просто хочу простой диалог YES/NO с кнопкой NO по умолчанию. Я не хотел использовать API MessageBox, потому что я не хочу кнопку закрытия в заголовке.
Спасибо,
Абхинай
2 ответа
Дано:
TASKDIALOGCONFIG tc;
Установите кнопку по умолчанию, установив nDefaultButton
член, например:
tc.nDefaultButton = ...;
"Это может быть любое из значений, указанных в nButtonID
члены одного из TASKDIALOG_BUTTON
структуры в pButtons
массив или один из идентификаторов, соответствующих кнопкам, указанным в dwCommonButtons
член:
IDCANCEL
Сделайте кнопку Отмена по умолчанию.IDNO
Сделайте кнопку Нет кнопкой по умолчанию.IDOK
Сделайте кнопку ОК по умолчанию.IDRETRY
Сделайте кнопку Повторить по умолчанию.IDYES
Сделайте кнопку Да по умолчанию.IDCLOSE
Сделать кнопку "Закрыть" по умолчанию. "
Вышеуказанный бит бесстыдно цитируется из MSDN.
Таким образом, в основном, если вы используете стандартные предопределенные кнопки, установите для поля одну из вышеуказанных констант; если вы используете пользовательскую кнопку, установите для нее идентификатор, который вы используете при указании кнопки.
В дополнение к ответу Дэвида я бы добавил свои два цента. Если вы используете MFC, вы можете использовать класс CTaskDialog.