gpt4 book ai didi

Delphi:JEDI 桌面警报的替代方案(气球)

转载 作者:行者123 更新时间:2023-12-03 15:50:59 28 4
gpt4 key购买 nike

是否有一个很好的模拟/等同于JEDI Desktop Alert(桌面右下角的一种气球)?

气球提示无法像堆栈一样显示(新提示位于其他提示的顶部),但 JEDI Desktop Alert 可以做到。

可能有人知道,为什么该组件的 show 事件会触发两次而不是一次? :)

enter image description here

感谢您的建议!

最佳答案

这可能有点晚了,但下面是一个基本示例,使用 Jedi Desktop Alert 在右下角显示 5 个堆叠的警报窗口。

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.

关于Delphi:JEDI 桌面警报的替代方案(气球),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7245938/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com