Delphi Tips(3) デスクトップ通知(DevExpress VCL AlertWindowsManager)を試してみた

Outlookの新着メッセージのデスクトップ通知のようなものを探していたが、標準ではなさそうなので、
DevExpress VCLのコンポーネントで試してみた。

alertWindowManager

◆ソース TButton,TdxAlertWindowManagerを張り付ける

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, cxLookAndFeelPainters, cxGraphics,
  dxAlertWindow, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    dxAlertWindowManager1: TdxAlertWindowManager;
    procedure Button1Click(Sender: TObject);
    procedure umMyMessage(var Message: TMessage); message WM_ACTIVATEAPP;   //メモリの廃棄
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  dxAlertWindowManager1.OptionsAnimate.ShowingAnimation := awaFade;  //表示アニメ:フェイドイン
  dxAlertWindowManager1.OptionsAnimate.ShowingAnimationTime := 2000; //表示アニメ時間
  dxAlertWindowManager1.OptionsAnimate.HidingAnimationTime := 5000;  //消去アニメ時間
  dxAlertWindowManager1.OptionsBehavior.DisplayTime := 10000;        //表示時間
  dxAlertWindowManager1.OptionsSize.AutoHeight := true;              //高さ自動調整
  dxAlertWindowManager1.OptionsSize.Width := 300;                    //幅サイズ
  dxAlertWindowManager1.Show('タイトル', '本文本文本文本文本文本文本' + #13#10 + '文本文本文'); //デスクトップ通知を表示する
end;

procedure TForm1.umMyMessage(var Message: TMessage); //メモリの廃棄
var
  I: Integer;
begin
  if Message.WParam = WA_INACTIVE then
    for I := dxAlertWindowManager1.Count - 1 downto 0 do
      dxAlertWindowManager1.Items[I].Destroy;
  showmessage('destroy');                         //動作確認用のメッセージ
end;

end.

2013/07/06追記

デスクトップ通知の色が下記の設定で変更できることがわかった。ただ、2色しかない(ー_ー)!!
もう少しいろんな色で表示できるとありがたいのだが...

al1

al2

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です