• Delphi在StatusBar上绘制ProgressBar




    首先,在TForm的私有域,也就是private下设置两个变量ProgressBar、ProgressBarRect,其中ProgressBar为 TProgressBar类型,ProgressBarRect为TRect类型,完整的定义如下:

    type
      TForm1 = class(TForm)
        ......
      private
        ProgressBar: TProgressBar;
        ProgressBarRect: TRect;
      end;

    然后在StatusBar的DrawPanel事件中添加代码:

      ProgressBarRect := Rect;

    完整代码如下:

    procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    begin
      ProgressBarRect := Rect;
    end;

    最后我们用一个Button组件来测试,代码如下:

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i, StepCount: integer;
    begin
      ProgressBar := TProgressBar.Create(Form1);
      StepCount := 10000;
      with ProgressBar do
      begin
        Top := ProgressBarRect.Top;
        Left := ProgressBarRect.Left;
        Width := ProgressBarRect.Right - ProgressBarRect.Left;
        Height := ProgressBarRect.Bottom - ProgressBarRect.Top;
        Visible := True;
        //Smooth := True;

        try
          Parent := StatusBar1;
          Min := 0;
          Max := StepCount;
          for i := 1 to stepCount do
          begin
            StepIt;
          end;
          MessageDlg('状态栏进度条演示操作已完成!', mtInformation, [mbOK], 0);
        finally
          Free;
        end;
      end;
    end;

    http://www.lsworks.net/article/43.html

  • 相关阅读:
    爬弹幕
    写了这么多行就给我30,呜呜呜
    ticket
    yield求平均数
    协程原理
    爬取一类字二类字的信息和笔顺gif图片
    关于CRF的相关阅读
    embedding size与vocabulary size之间的关系: e = v**0.25
    pandas多个值取数
    转 pandas pivot
  • 原文地址:https://www.cnblogs.com/findumars/p/5010750.html
Copyright © 2020-2023  润新知