画圆 ( 积分: 90 )

  • 主题发起人 主题发起人 无有人
  • 开始时间 开始时间

无有人

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在PaintBox控件上从上到下画5个圆,对齐画。问:
1.程序该怎么写?
2.我画了圆,可在窗体大小改变时,它又消失了。怎样保证它不消失?
3.Ellipse(x1,y1,x2,y2)中四个参数是什么含义?
 
我想在PaintBox控件上从上到下画5个圆,对齐画。问:
1.程序该怎么写?
2.我画了圆,可在窗体大小改变时,它又消失了。怎样保证它不消失?
3.Ellipse(x1,y1,x2,y2)中四个参数是什么含义?
 
1、var
I : Integer;
begin
with PaintBox1.Canvas do begin
for I := 0 to 4 do begin
Ellipse(10 + i * 50, 10, 50 + 50 * i , 50);
end;
end;
end;

2、大小变化时会触发WM_SIZE消息,最后导致WM_PAINT消息发生,所以界面上的东西就没有了,所以需要重新话,那么我上面的代码放在OnPaint里面可以了
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
I : Integer;
begin
……
end;
3、4个参数分别对应左上角坐标和右下脚坐标,也就是对角线。所以画出来可能是椭圆
 
应该将代码写在Form的OnResize事件中!
 
这个是横排5个
PaintBox1.Canvas.Ellipse(10,10,20,20);
PaintBox1.Canvas.Ellipse(30,10,40,20);
PaintBox1.Canvas.Ellipse(50,10,60,20);
PaintBox1.Canvas.Ellipse(70,10,80,20);
PaintBox1.Canvas.Ellipse(90,10,100,20);
在窗体大小改变时,不会消失的!

Ellipse(x1,y1,x2,y2)
x1,y1,x2,y2分别表示椭圆(圆)所在的四方形的左上角和又下角坐标!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
712
import
I
后退
顶部