gpt4 book ai didi

delphi - 如何制作 firemonkey HUD 窗口

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

我想复制 https://github.com/jdg/MBProgressHUD 的 HUD 功能在 Delphi 中使用 firemonkey。

这就是 iPhone 中的样子:

HUD

主要问题是如何使表单半透明并完全去除边框。

最佳答案

创建您的 Firemonkey HD 表单,将其设置为 Fill.KindbkNone ,它是 Fill.ColorNull 。另外,将其设置为 Transparency属性为 True,它是 BorderStylebsNone .

创建一个 TRectangle(或任何形状),并设置 Stroke.Kind属性至bkNone 。设置为Fill.ColorGray ,是Opacity至 0.5。

创建 TAniIndicatorTLabel以两者的父级作为形式。这是Opacity保持在 1.0。 (可选)还可以创建 TImage并使其大小和位置与 TAniIndicator 完全相同.

从那里开始,这只是一个使用 TFloatAnimation 的例子。当您想要更改图像(为勾号等)和标签文本以简单地更改为您想要显示的任何消息时,在 TAniIndicator 上。理想情况下,您只需创建一个接受字符串或整数作为变量的过程,然后修改文本和指示器/图像以匹配它。例如;

Procedure TForm1.Process(Mode : Integer);
Begin
if Mode = 1 then
begin
AniIndicator1.Enabled := True;
AniIndicator1.Visible := True;
Image1.Visible := False;
Label1.TextAlign := TTextAlign.taCenter; // Must be called to reset alignment
Label1.Text := 'Loading';
End
else if Mode = 2 then
Begin
AniIndicator1.Enabled := False;
AniIndicator1.Visible := False;
Label1.TextAlign := TTextAlign.taCenter; // Must be called to reset alignment
Image1.Bitmap.LoadFromFile('Tick.png');
Image1.Visible := True;
Label1.Text := 'Complete!';
end;
end;

然后,您可以在主窗体中创建一个 tpanel,然后添加上述窗体(包含 TAniIndicator, label, and rectangle )作为子组件。然后,您使用有效的模式变量调用您创建的过程,它将按照您在代码中指示的方式运行。添加更多模式非常容易,我已经对自己的一个应用程序做了类似的操作(尽管它与 TRectangle 相关,而不是创建指标)。

关于delphi - 如何制作 firemonkey HUD 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9038253/

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