📄 mainform.pas
字号:
unit MainForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Paintth;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
Timer2: TTimer;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
xx,yy:integer;
PT: TPainterThread;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
// 启动线程
begin
Button1.Enabled := False;
Button2.Enabled := True;
PT := TPainterThread.Create (False);
end;
procedure TForm1.Button2Click(Sender: TObject);
//暂停线程
begin
PT.Free;
Button1.Enabled := True;
Button2.Enabled := False;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
//绘制图形
begin
Canvas.Lock;
xx:=x;
yy:=y;
try
Canvas.Pen.Color := clYellow;
Canvas.Brush.Color := clYellow;
Canvas.Ellipse (x - 30, y - 30, x + 30, y + 30);
finally
Canvas.Unlock;
end;
timer1.Enabled:=true;
timer2.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
//循环绘制圆形
begin
Canvas.Lock;
try
Canvas.Pen.Color := clYellow;
Canvas.Brush.Color := clYellow;
Canvas.Ellipse (xx - 20, yy - 20, xx + 20, yy + 20);
finally
Canvas.Unlock;
end;
timer1.Enabled:=false;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
Canvas.Lock;
try
Canvas.Pen.Color := clYellow;
Canvas.Brush.Color := clYellow;
Canvas.Ellipse (xx - 10, yy - 10, xx + 10, yy + 10);
finally
Canvas.Unlock;
end;
timer2.Enabled:=false;
end;
procedure TForm1.Button3Click(Sender: TObject);
//退出程序
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -