3

win32 アプリで TaskDialog API を使用しています。はい/いいえボタンを含むタスク ダイアログを作成しましたが、いいえボタンをデフォルトとして設定するオプションが見つかりません。YES ボタンは常にデフォルトです。NOボタンをデフォルトにする方法があれば教えてください。TaskDialogIndirect がデフォルトのボタンオプションをサポートしていることは知っていますが、私がやろうとしていることはやり過ぎです。デフォルトとしてNOボタンを備えた単純なYES / NOダイアログが欲しいだけです。タイトルバーに閉じるボタンが必要ないため、MessageBox API を使用しませんでした。

ありがとう、

アビナイ

4

2 に答える 2

2

与えられた:

TASKDIALOGCONFIG tc;

nDefaultButtonメンバーを設定して、デフォルトのボタンを設定します。

tc.nDefaultButton = ...;

「これは、配列内のいずれかの構造体nButtonIDのメンバーで指定された値のいずれか、またはメンバーで指定されたボタンに対応する ID の 1 つです。TASKDIALOG_BUTTONpButtonsdwCommonButtons

  • IDCANCEL [キャンセル] ボタンをデフォルトにします。
  • IDNO いいえボタンをデフォルトにします。
  • IDOK OK ボタンをデフォルトにします。
  • IDRETRY[再試行] ボタンをデフォルトにします。
  • IDYES はいボタンをデフォルトにします。
  • IDCLOSE閉じるボタンをデフォルトにします。」

上記のビットは、MSDN から恥知らずに引用されています

基本的に、標準の定義済みボタンを使用している場合は、フィールドを上記の定数のいずれかに設定します。カスタム ボタンを使用している場合は、ボタンを指定するときに使用する ID に設定します。

于 2012-02-13T16:35:24.630 に答える
0

David からの回答に加えて、2 セントを追加します。MFC を使用している場合は、CTaskDialogクラスを使用できます。

于 2012-02-13T17:53:48.937 に答える