锲
锲而不舍
Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
PaintBox1: TPaintBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure PaintXY;
var
Form1: TForm1;
OriginX,OriginY:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
PaintBox1.Canvas.Brush.Color:=clBtnFace;
OriginX:=20;
OriginY:=PaintBox1.ClientHeight-20;
end;
procedure PaintXY;
var
k,xt,yt:integer;
begin
Form1.PaintBox1.Canvas.Pen.Color:=clBlack;
with Form1.PaintBox1.Canvas do
begin
MoveTo(OriginX,0); //画坐标系的Y轴
LineTo(OriginX,OriginY);
MoveTo(OriginX,OriginY); //画坐标系的X轴
LineTo(Form1.PaintBox1.ClientWidth,OriginY);
end;
Form1.PaintBox1.Canvas.Pen.Color:=clBlue;
Form1.PaintBox1.Canvas.Font.Color:=clBlue;
k:=Form1.PaintBox1.ClientWidth div 10;
for xt:=1 to 10 do
begin
with Form1.PaintBox1.Canvas do
begin
MoveTo(OriginX+xt * k,OriginY); //画x轴的刻度
LineTo(OriginX+xt * k,OriginY-3);
TextOut(OriginX+xt * k-3,OriginY+3,IntToStr(xt));
end;
end;
k:=Form1.PaintBox1.ClientHeight div 10;
for yt:=1 to 10 do
begin
with Form1.PaintBox1.Canvas do
begin
MoveTo(OriginX,OriginY-yt*k); //画Y轴的刻度
LineTo(OriginX+3,OriginY-yt*k);
TextOut(OriginX-11,OriginY-yt*k-6,IntToStr(yt));
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Shape:TShape;
begin
Shape:=TShape.Create(self);
Shape.Parent:=self;
Shape.Left:=PaintBox1.Left+50;
Shape.Top:= PaintBox1.Top+50;
Shape.Brush.Color:=clRed;
Shape.Shape:=stCircle;
Shape.Pen.Style:=psClear;
Shape.Width:=4;
Shape.Height:=4;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
PaintXY;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
PaintBox1: TPaintBox;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure PaintXY;
var
Form1: TForm1;
OriginX,OriginY:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
PaintBox1.Canvas.Brush.Color:=clBtnFace;
OriginX:=20;
OriginY:=PaintBox1.ClientHeight-20;
end;
procedure PaintXY;
var
k,xt,yt:integer;
begin
Form1.PaintBox1.Canvas.Pen.Color:=clBlack;
with Form1.PaintBox1.Canvas do
begin
MoveTo(OriginX,0); //画坐标系的Y轴
LineTo(OriginX,OriginY);
MoveTo(OriginX,OriginY); //画坐标系的X轴
LineTo(Form1.PaintBox1.ClientWidth,OriginY);
end;
Form1.PaintBox1.Canvas.Pen.Color:=clBlue;
Form1.PaintBox1.Canvas.Font.Color:=clBlue;
k:=Form1.PaintBox1.ClientWidth div 10;
for xt:=1 to 10 do
begin
with Form1.PaintBox1.Canvas do
begin
MoveTo(OriginX+xt * k,OriginY); //画x轴的刻度
LineTo(OriginX+xt * k,OriginY-3);
TextOut(OriginX+xt * k-3,OriginY+3,IntToStr(xt));
end;
end;
k:=Form1.PaintBox1.ClientHeight div 10;
for yt:=1 to 10 do
begin
with Form1.PaintBox1.Canvas do
begin
MoveTo(OriginX,OriginY-yt*k); //画Y轴的刻度
LineTo(OriginX+3,OriginY-yt*k);
TextOut(OriginX-11,OriginY-yt*k-6,IntToStr(yt));
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Shape:TShape;
begin
Shape:=TShape.Create(self);
Shape.Parent:=self;
Shape.Left:=PaintBox1.Left+50;
Shape.Top:= PaintBox1.Top+50;
Shape.Brush.Color:=clRed;
Shape.Shape:=stCircle;
Shape.Pen.Style:=psClear;
Shape.Width:=4;
Shape.Height:=4;
end;
procedure TForm1.FormPaint(Sender: TObject);
begin
PaintXY;
end;
end.