Vistaには「タスクダイアログ」なる新種のダイアログの形態が登場しました。

これには、TaskDialogとTaskDialogIndirectという2つの関数があるのですが、今回は簡単な方のTaskDialogを使ってみました。

まあ大したことありません。MeesageBox/MsgBoxとあまり変わったことはできません。

さて、こんなにMessageBoxと似たようなことしかできないのならと思い、暇だったのでTaskMsgが使えるときはそれを、そうでないときはMessageBoxを表示するなんて関数を作ってABライブラリに入れちゃいました。上記画像は、次のようなコードで表示できます。

TaskMsg(hMainWnd, "タイトル", "メインの説明部分", "補助の説明部分", MB_OK, MB_ICONINFORMATION)

名前のTaskMsgは想像通り、TaskDialogとMessageBoxのあいのこというわけです。”補助の説明部分”とそれより後ろは省略可能です。AB5の次のCPには搭載しているはずなのでよければ使ってやってください。


TaskDialogIndirectのほうなら、MSDNライブラリのWindows Vista > What’s New > Task Dialogsで紹介されているようにいろいろ出来るみたいです。まあ、Vistaからでないと使えないので、少なくとも今後数年は(少なくともXPまでの対応を考えないと)使えないでしょう。


スポンサード リンク

この記事のカテゴリ