TaskDialog 関数 (commctrl.h)

TaskDialog 関数は、タスク ダイアログを作成、表示、および操作します。 タスク ダイアログには、アプリケーション定義のメッセージ テキストとタイトル、アイコン、および定義済みのプッシュ ボタンの任意の組み合わせが含まれます。 この関数は、通知を受信するためのコールバック関数の登録をサポートしていません。

構文

HRESULT TaskDialog(
  [in]  HWND                           hwndOwner,
  [in]  HINSTANCE                      hInstance,
  [in]  PCWSTR                         pszWindowTitle,
  [in]  PCWSTR                         pszMainInstruction,
  [in]  PCWSTR                         pszContent,
  [in]  TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons,
  [in]  PCWSTR                         pszIcon,
  [out] int                            *pnButton
);

パラメーター

[in] hwndOwner

種類: HWND

作成するタスク ダイアログの所有者ウィンドウを処理します。 このパラメーターが NULL の場合、タスク ダイアログには所有者ウィンドウがありません。

[in] hInstance

種類: HINSTANCE

pszIcon メンバーによって識別されるアイコン リソースと、pszWindowTitle および pszMainInstruction メンバーによって識別される文字列リソースを含むモジュールを処理します。 このパラメーターが NULL の場合、 pszIconNULL であるか、システム リソース識別子を含む null で終わる Unicode 文字列 (たとえば、TD_ERROR_ICON) へのポインターである必要があります。

[in] pszWindowTitle

種類: PCWSTR

タスク ダイアログ のタイトルに使用する文字列へのポインター。 このパラメーターは、テキスト、または MAKEINTRESOURCE マクロを介して渡される整数リソース識別子を含む、null で終わる Unicode 文字列です。 このパラメーターが NULL の場合は、実行可能プログラムのファイル名が使用されます。

[in] pszMainInstruction

種類: PCWSTR

メイン命令に使用する文字列へのポインター。 このパラメーターは、テキスト、または MAKEINTRESOURCE マクロを介して渡される整数リソース識別子を含む、null で終わる Unicode 文字列です。 このパラメーターは、メイン命令が必要ない場合は NULL にすることができます

[in] pszContent

種類: PCWSTR

メイン命令の下に小さいフォントで表示される追加のテキストに使用される文字列へのポインター。 このパラメーターは、テキスト、または MAKEINTRESOURCE マクロを介して渡される整数リソース識別子を含む、null で終わる Unicode 文字列です。 追加のテキストが必要ない場合は NULL にすることができます

[in] dwCommonButtons

種類: TASKDIALOG_COMMON_BUTTON_FLAGS

ダイアログ ボックスに表示されるプッシュ ボタンを指定します。 このパラメーターは、次のグループのフラグの組み合わせである場合があります。

メモ ボタンが指定されていない場合、ダイアログ ボックスには既定で [OK] ボタンが含まれます。
 
意味
TDCBF_OK_BUTTON
タスク ダイアログには、[ OK] というプッシュ ボタンが含まれています。
TDCBF_YES_BUTTON
タスク ダイアログには、[ はい] というプッシュ ボタンが含まれています。
TDCBF_NO_BUTTON
タスク ダイアログには、[ いいえ] というプッシュ ボタンが含まれています。
TDCBF_CANCEL_BUTTON
タスク ダイアログには、[ キャンセル] というプッシュ ボタンが含まれています。 このボタンは、ダイアログ ボックスで一般的なキャンセル 操作 (Alt + F4 キーとエスケープ) に応答するために指定する必要があります。
TDCBF_RETRY_BUTTON
タスク ダイアログには、[ 再試行] というプッシュ ボタンが含まれています。
TDCBF_CLOSE_BUTTON
タスク ダイアログには、[ 閉じる] というプッシュ ボタンが含まれています。

[in] pszIcon

種類: PCWSTR

タスク ダイアログに表示するアイコンを識別する文字列へのポインター。 このパラメーターは、 MAKEINTRESOURCE マクロに渡される整数リソース ID、または次の定義済み値のいずれかである必要があります。 このパラメーターが NULL の場合、アイコンは表示されません。 hInstance パラメーターが NULL で、定義済みの値のいずれかが使用されていない場合、TaskDialog 関数は失敗します。

意味
TD_ERROR_ICON
タスク ダイアログに停止記号アイコンが表示されます。
TD_INFORMATION_ICON
タスク ダイアログに、円の中の小文字 i で構成されるアイコンが表示されます。
TD_SHIELD_ICON
タスク ダイアログにセキュリティ シールド アイコンが表示されます。
TD_WARNING_ICON
感嘆符アイコンがタスク ダイアログに表示されます。

[out] pnButton

型: int*

この関数が戻るとき、 には、次のいずれかの値を受け取る整数の場所へのポインターが含まれます。

説明
0 関数呼び出しに失敗しました。 詳細については、戻り値に関するページを参照してください。
IDCANCEL [キャンセル ] ボタンが選択され、Alt + F4 キーが押された、エスケープが押された、またはユーザーが ウィンドウを閉じる ボタンをクリックしました。
IDNO ボタンが 選択されていません。
IDOK [OK] ボタンが選択されました。
IDRETRY [再試行 ] ボタンが選択されました。
IDYES [はい ] ボタンが選択されました。
IDCLOSE [閉じる ] ボタンが選択されました。
 

この値が NULL の場合、値は返されません。

戻り値

種類: HRESULT

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
操作は正常に完了しました。
E_OUTOFMEMORY
操作を完了するためのメモリが不足しています。
E_INVALIDARG
1 つ以上の引数が無効です。
E_FAIL
操作が失敗しました。

注釈

タスク ダイアログ ボックスを使用してシステムのメモリが不足していることを示す場合、リソースの読み込みが失敗する可能性があるため、 pszMainInstruction パラメーターと pszWindowTitle パラメーターが指す文字列をリソース ファイルから取得しないでください。

ダイアログ ボックスが表示されているときにタスク ダイアログを作成する場合は、ダイアログ ボックスへのハンドルを hWndParent パラメーターとして使用します。 hWndParent パラメーターは、ダイアログ ボックス内のコントロールなどの子ウィンドウを識別しないでください。

タスク ダイアログ ボックスは正しいシステム定義 UI 要素を使用するため、 MessageBox 関数で作成されたメッセージ ボックスを使用する代わりに、それらを使用する必要があります。 より多くの機能を実現するには、 TaskDialogIndirect を使用します。

次のコード例は、大規模なプログラムの一部として含まれるように、タスク ダイアログを作成し、入力をキャプチャする方法を示しています。


int nButtonPressed = 0;
TaskDialog(NULL, hInst, 
    MAKEINTRESOURCE(IDS_APPLICATION_TITLE),
    MAKEINTRESOURCE(IDS_DOSOMETHING), 
    MAKEINTRESOURCE(IDS_SOMECONTENT), 
    TDCBF_OK_BUTTON | TDCBF_CANCEL_BUTTON,
    TD_WARNING_ICON, 
    &nButtonPressed);

if (IDOK == nButtonPressed)
{
    // OK button pressed
}
else if (IDCANCEL == nButtonPressed)
{
    // Cancel pressed
}

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー commctrl.h (Commctrl.h を含む)
Library Comctl32.lib
[DLL] Comctl32.dll (バージョン 6)

関連項目

ダイアログ ボックス