はじめに
最近あるプロジェクトで、Outlookで新しい電子メールを受信したときに表示されるような通知を、ユーザーに表示する必要が出てきました。ところが、Visual Studio 2003やVisual Studio 2005では、ちょうど良い方法が見つかりませんでした。もちろん、Visual Studio 2008を使用している場合は、(Visual Studio 2008 SP1に統合された)Feature Packリリースで、このための一連のクラスが提供されているので、MFCから無償で入手できます。ただし、Visual Studio 2008を使用しないときは、著者の場合と同じようにつまずく可能性があります。そこで、この問題に関して対応策を練ることにしました。その結果でき上がったのが、さまざまなスタイルの通知ウィンドウを作成できる一連のクラスです。
今回のミニフレームワークで作成した、カスタマイズ済みアラートウィンドウの例を以下に示します。
フレームワークの解説
今回のミニフレームワークを構成するクラスは、次の3つのカテゴリに分類されます。
アラートダイアログ
表示されるすべてのアラートダイアログの基本クラスです。スタイルを使用して外観をカスタマイズできます。
上記のクラス図で、CMailAlert、CFirefoxAlertおよびCWinampAlertの各クラスはフレームワークの一部ではなく、本稿で作成するデモアプリケーションに含まれるアラートダイアログの例です。
アラートスタイル
アラートダイアログの背景と非クライアント領域の描画を処理するクラスの階層です。
アラートコントロール
アラートダイアログで使用する各種カスタムコントロール(ラベル、ハイパーリンク、画像コントロール、ボタン)です。