📄 mythread.pas
字号:
unit MyThread;
interface
uses Classes, Graphics, ComCtrls;
type
TPaintThread = class(TThread)
private
x,y:integer;
FColor:TColor;
FProgressBar:TProgressBar;
public
constructor InitColor(nColor:TColor);
property ProgressBar:TProgressBar
write FProgressBar;
procedure DisplayProgress;
protected
procedure Execute; override;
procedure Paint;
end;
implementation
uses Main;
constructor TPaintThread.InitColor(nColor:TColor);
begin
Fcolor:=nColor;
end;
procedure TPaintThread.DisplayProgress;
begin
CriticalProcess.Acquire;
try
FprogressBar.Position:=y;
finally
CriticalProcess.Release;
end;
end;
procedure TPaintThread.Paint;
var j: Integer;
begin
CriticalPaint.Acquire;
try
for j:=0 to 250 do begin
x:=j;
Form1.Canvas.Pixels[x,y]:=FColor;
end;
finally;
CriticalPaint.Release;
end;
end;
procedure TPaintThread.Execute;
var i: Integer;
begin
repeat
for i:=0 to Form1.ClientHeight do begin
y:=i;
DisplayProgress;
Paint;
end;
until Terminated;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -