zoukankan      html  css  js  c++  java
  • 利用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;

        

  • 相关阅读:
    STM32 HAL库 +freeRTOS+Keil 移植
    C# OPENGL DEMO 旋转彩色立方体OpenGL, SharpGL
    常用的user32说明
    C# emgu 多模板匹配
    c#操作Excel模板,替换命名单元格或关键字形成报表
    STM32 USB 鼠标+键盘 串口控制
    USB鼠标键盘数据格式以及按键键值
    C# Emgu 类型转换
    C#来操作Word
    Linux部署H2
  • 原文地址:https://www.cnblogs.com/happyhills/p/3549003.html
Copyright © 2011-2022 走看看