Delphi: альтернатива JEDI Desktop Alert (воздушный шар) - PullRequest
3 голосов
/ 30 августа 2011

Есть ли хороший аналог / эквивалент JEDI Desktop Alert (вид воздушного шара в правом нижнем углу рабочего стола)?

Balloon hint нельзя отобразить как стек (новая подсказка находится поверх других), но JEDI Desktop Alert может это сделать.

Может быть, кто-то знает, почему событие показа этого компонента срабатывает дважды, а не один раз? :)

enter image description here

Спасибо за предложения!

Ответы [ 2 ]

3 голосов
/ 04 февраля 2015

Это может быть немного поздно, но ниже приведен базовый пример, показывающий 5 расположенных друг над другом окон предупреждений друг над другом в правом нижнем углу с использованием Jedi Desktop Alert.

TJvDesktopAlertStack ScreenShot

unit Unit1;


interface


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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure AddAlert(title, text: String; stack: TjvDesktopAlertStack);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}  

procedure TForm1.AddAlert(title, text: String; stack: TjvDesktopAlertStack);
Begin
  with TJvDesktopAlert.Create(self) do
  Begin
    AutoFree   := true;
    AlertStack := stack;
    HeaderText := title;
    MessageText := text;
    Execute(self.Handle);
  End;
End;

procedure TForm1.Button1Click(Sender: TObject);
var
  stack: TjvDesktopAlertStack;
begin
  stack := TJvDesktopAlertStack.Create(self);
  try
    AddAlert('title1', 'message1', stack);
    AddAlert('title2', 'message2', stack);
    AddAlert('title3', 'message3', stack);
    AddAlert('title4', 'message4', stack);
    AddAlert('title5', 'message5', stack);
  finally
    stack.Free;
  end;
end;

end.
2 голосов
/ 30 августа 2011

Программное обеспечение TMS имеет TAdvAlertWindow , «Окно предупреждений в стиле Outlook 2003, 2007» * .

TAdvAlertWindow

Это коммерческий компонент, доступно отдельно или как часть пакета компонентов TMS.

Обновление: Изображение выше было взято с веб-сайта TMS.Как отметил Андреас, шрифт не сглаженный (это растровый шрифт, вероятно, MS Sans Serif).Я протестировал пробную версию компонента и установил шрифт Tahoma, как и ожидалось:

TAdvAlertWindow antialiased

...