taskdlg

タスクダイアログを表示 (フル機能版)

taskdlg "title", "main", "content", "footer", "choices", mainico, footico

"title"   : ダイアログのタイトルバーに表示する文字列
"main"    : メインメッセージ (大きいフォントで表示される)
"content" : サブメッセージ (通常フォントで表示される)
"footer"  : フッター領域に表示する文字列 (空文字 "" で非表示)
"choices" : 選択肢を改行 (\n) 区切りで指定する文字列
mainico   : メインアイコン (TDICO_NONE=0 / TDICO_WARNING=1 / TDICO_ERROR=2 / TDICO_INFO=3 / TDICO_SHIELD=4)
footico   : フッターアイコン (同上)

(プラグイン / モジュール : iron_taskdialog.hsp)

解説

Windows Vista 以降の TaskDialogIndirect API を使用して、モダンなタスクダイアログを表示します。
MessageBox の上位互換として、より豊富なカスタマイズが可能です。

choices パラメータに改行 (\n) 区切りで選択肢を指定すると、コマンドリンク形式の大きなボタンとして表示されます。

■ 戻り値 (stat)
  101~ : 選択肢のボタンが押された場合。1番目の選択肢 = 101、2番目 = 102、...
  2     : キャンセル (× ボタン、Esc キー、または TDBTN_CANCEL)

■ アイコン一覧
  TDICO_NONE (0)    : アイコンなし
  TDICO_WARNING (1) : 黄色い三角の警告アイコン
  TDICO_ERROR (2)   : 赤い丸のエラーアイコン
  TDICO_INFO (3)    : 青い丸の情報アイコン
  TDICO_SHIELD (4)  : UAC シールド (盾) アイコン

■ フラグのカスタマイズ
デフォルトでは以下のフラグが有効になっています:
  TDF_ALLOW_DIALOG_CANCELLATION | TDF_USE_COMMAND_LINKS | TDF_ENABLE_HYPERLINKS
taskdlg_set_flags で変更できます。

■ ダイアログ幅
taskdlg_set_width でピクセル単位の幅を指定できます (0 = 自動)。

■ 共通ボタンの追加
taskdlg_set_buttons で選択肢とは別に OK / Cancel 等の共通ボタンを表示できます。

■ デフォルトボタン
taskdlg_set_default_id でフォーカスが当たるデフォルトボタンの ID を指定できます。
選択肢のボタン ID は 101 から順に割り当てられます。

■ 文字列の扱い
引数の文字列は内部で UTF-16 に変換されます。HSP の通常の cp932 文字列をそのまま渡せます。
空文字 ("") を渡した場合、その領域は非表示になります。

サンプル

#include "iron_taskdialog.hsp"

taskdlg "更新確認", "新しいバージョンがあります", "v3.8 にアップデートしますか?", "※ 再起動が必要です", "今すぐ更新\n後で通知", TDICO_INFO, TDICO_WARNING

mes "選択 ID = " + stat

関連項目

taskdlg_simple簡易タスクダイアログを表示(iron_taskdialog.hsp)
taskdlg_initタスクダイアログの初期化(iron_taskdialog.hsp)
taskdlg_set_flagsタスクダイアログのフラグを設定(iron_taskdialog.hsp)
taskdlg_set_widthタスクダイアログの幅を設定(iron_taskdialog.hsp)
taskdlg_set_buttons共通ボタンを設定(iron_taskdialog.hsp)
taskdlg_set_default_idデフォルトボタンの ID を設定(iron_taskdialog.hsp)
TDICO_NONEアイコンなし定数 (値: 0)(iron_taskdialog.hsp)
TDICO_WARNING警告アイコン定数 (値: 1)(iron_taskdialog.hsp)
TDICO_ERRORエラーアイコン定数 (値: 2)(iron_taskdialog.hsp)
TDICO_INFO情報アイコン定数 (値: 3)(iron_taskdialog.hsp)
TDICO_SHIELDシールドアイコン定数 (値: 4)(iron_taskdialog.hsp)

サンプル逆引き (1)

sample_taskdialog.hsp

情報

プラグイン / モジュールiron_taskdialog.hsp
バージョン3.8
作成日2026/04/18
著作者IronHSP
URLhttps://github.com/inovia/IronHSP
備考comctl32.dll (OS 標準)。Windows Vista 以降が必要。
#include "iron_taskdialog.hsp" を記述して使用。
タイプ拡張命令
グループタスクダイアログ
対応環境
  • その他 : Win32 / Win64
hs ファイルhsphelp\iron_taskdialog.hs