Delphi 在迭代中重新绘制和重新绘制,非常感谢!感谢Deltics,我已经用Layout1.repait编辑了我的代码,没有任何效果,与以前的版本相同,没有repaitOk,可以在迭代中使用Synchronize和repait,非常感谢Deltics! var

Delphi 在迭代中重新绘制和重新绘制,非常感谢!感谢Deltics,我已经用Layout1.repait编辑了我的代码,没有任何效果,与以前的版本相同,没有repaitOk,可以在迭代中使用Synchronize和repait,非常感谢Deltics! var ,delphi,runtime,controls,firemonkey,Delphi,Runtime,Controls,Firemonkey,在迭代中重新绘制和重新绘制,非常感谢!感谢Deltics,我已经用Layout1.repait编辑了我的代码,没有任何效果,与以前的版本相同,没有repaitOk,可以在迭代中使用Synchronize和repait,非常感谢Deltics! var RectT: TRectangle; MyThread: TThread; Layout1: TLayout; begin MyThread := TThread.CreateAnonymousThread(procedure()


在迭代中重新绘制和
重新绘制
,非常感谢!感谢Deltics,我已经用
Layout1.repait编辑了我的代码,没有任何效果,与以前的版本相同,没有
repait
Ok,可以在迭代中使用
Synchronize
repait
,非常感谢Deltics!
var
  RectT: TRectangle;
  MyThread: TThread;
  Layout1: TLayout;
begin
  MyThread := TThread.CreateAnonymousThread(procedure()
  begin
        TThread.Synchronize(nil, procedure()
        var
            z, i: integer;
        begin
            z := 0;
            for i := 0 to 99 do
            begin
                 RectT := TRectangle.Create(Self);
                 RectT.Name := 'Rectangle' + IntToStr(i);
                 RectT.Align := TAlignLayout.Top;
                 RectT.Margins.Top := 6;
                 RectT.Position.Y := z;
                 RectT.Height := 20;
                 RectT.Parent := Layout1;
                 if (i mod 10) = 0 then Layout1.UpdateEffects;
                 inc(z, 20);
            end;
        end);
  end);
  MyThread.FreeOnTerminate := True;
  MyThread.Start;
var
  MyThread: TThread;
begin
  MyThread := TThread.CreateAnonymousThread
  (
    procedure()
    var
      z, i: integer;
      RectT: TRectangle;
    begin
      z := 0;
      for i := 0 to 999 do
      begin
        RectT := TRectangle.Create(Self);
        RectT.Name := 'Rectangle' + IntToStr(i);
        RectT.Align := TAlignLayout.Top;
        RectT.Margins.Top := 6;
        RectT.Position.Y := z;
        RectT.Height := 20;
        RectT.Parent := Layout1;

        TThread.Synchronize(nil, procedure()
                                 begin
                                   Layout1.Repaint;
                                 end);

        inc(z, 20);
      end;
    end
  );

  MyThread.FreeOnTerminate := True;
  MyThread.Start;
end;
if (i mod 10) = 0 then 
  TThread.Synchronize(nil, procedure()
                           begin
                             Layout1.Repaint;
                           end);
procedure TForm4.Button1Click(Sender: TObject);
begin
  TThread.CreateAnonymousThread(procedure
  var
    I,z: Integer;
    Total: Integer;
  begin
    Total := 0;
    for I := 1 to 99 do
    begin
        TThread.Synchronize (TThread.CurrentThread,
          procedure
          var
            RectT: TRectangle;
          begin
            RectT := TRectangle.Create(Self);
            RectT.Name := 'Rectangle' + IntToStr(i);
            RectT.Align := TAlignLayout.Top;
            RectT.Margins.Top := 6;
            RectT.Position.Y := z;
            RectT.Height := 20;
            RectT.Parent := Layout1;
            Inc(z, 20);
          end);
    end;
  end).Start;
end;