delphi xe 利用FMX控件的MakeScreenshot过程实现WAIT效果


本文整理自网络,侵删。

 利用FMX控件的MakeScreenshot过程实现WAIT效果
原理:

 1、新建一个waitform,添加控件:

    背景图片BACKPIC:Timage控件;

    再叠加一个WAIT图标(TAniIndicato控件)。

 2、在要实现wait效果的form上添加一个控件作为背景工作区(例如TPANEL)。

    需要实现wait效果时,调用TPANEL.MakeScreenshot,替换waitform上的BACKPIC,显示WAIT图标。

    结束时,关闭waitform。

 

关键代码如下:

unit waitform;

interface

uses......;

type

Twaitform= class(TForm)
   WorkingPanel: TRectangle;
   GrayBox: TRectangle;
   WorkingLBL: TLabel;
   AniIndicator: TAniIndicator;
   bgImage: TImage;
private
{ Private declarations }
public
{ Public declarations }
end;

调用主程序:

procedure  waitingMsg(Text: String; Working: Boolean);

begin
if Working=True then
begin
Application.ProcessMessages;
{$IFDEF ANDROID}
waitform.bgImage.Bitmap.Assign(PANEL1.MakeScreenshot);
{$ENDIF}
waitform.Show;
waitform.AniIndicator.Enabled := True;
waitform.WorkingLBL.Text := Text;
end
else
begin
waitform.AniIndicator.Enabled := False;
waitform.WorkingLBL.Text := Text;
waitform.Close;
{$IFDEF ANDROID}
waitform.bgImage.Bitmap.Assign(nil);
{$ENDIF}
mainform.Show;
end;
end;

procedure Tmainform.Button1Click(Sender: TObject);
begin
waitingMsg('wait...',True);
end;

相关阅读 >>

Delphi 关于注释

Delphi逐个读取access中的数据

Delphi 生成guid算法的单元

Delphi货币类型转中文大写金额

Delphi判断文件是否正在被使用

Delphi 如何打开记事本并显示指定内容

Delphi实现自我删除

Delphi 取整算法集合

Delphi 注册表启动项管理代码

Delphi中的处理事件 application.processmessages

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...