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までの対応を考えないと)使えないでしょう。
スポンサード リンク |