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 の場合、 pszIcon は NULL であるか、システム リソース識別子を含む 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
ダイアログ ボックスに表示されるプッシュ ボタンを指定します。 このパラメーターは、次のグループのフラグの組み合わせである場合があります。
[in] pszIcon
種類: PCWSTR
タスク ダイアログに表示するアイコンを識別する文字列へのポインター。 このパラメーターは、 MAKEINTRESOURCE マクロに渡される整数リソース ID、または次の定義済み値のいずれかである必要があります。 このパラメーターが NULL の場合、アイコンは表示されません。 hInstance パラメーターが NULL で、定義済みの値のいずれかが使用されていない場合、TaskDialog 関数は失敗します。
値 | 意味 |
---|---|
|
タスク ダイアログに停止記号アイコンが表示されます。 |
|
タスク ダイアログに、円の中の小文字 i で構成されるアイコンが表示されます。 |
|
タスク ダイアログにセキュリティ シールド アイコンが表示されます。 |
|
感嘆符アイコンがタスク ダイアログに表示されます。 |
[out] pnButton
型: int*
この関数が戻るとき、 には、次のいずれかの値を受け取る整数の場所へのポインターが含まれます。
値 | 説明 |
---|---|
0 | 関数呼び出しに失敗しました。 詳細については、戻り値に関するページを参照してください。 |
IDCANCEL | [キャンセル ] ボタンが選択され、Alt + F4 キーが押された、エスケープが押された、またはユーザーが ウィンドウを閉じる ボタンをクリックしました。 |
IDNO | ボタンが 選択されていません。 |
IDOK | [OK] ボタンが選択されました。 |
IDRETRY | [再試行 ] ボタンが選択されました。 |
IDYES | [はい ] ボタンが選択されました。 |
IDCLOSE | [閉じる ] ボタンが選択されました。 |
この値が NULL の場合、値は返されません。
戻り値
種類: HRESULT
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
操作を完了するためのメモリが不足しています。 |
|
1 つ以上の引数が無効です。 |
|
操作が失敗しました。 |
注釈
タスク ダイアログ ボックスを使用してシステムのメモリが不足していることを示す場合、リソースの読み込みが失敗する可能性があるため、 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) |