deilphi中用什么控件画弧?
时间:2011-12-24
来源:互联网
deilphi中用什么控件画弧?
作者: zxl_836707202 发布时间: 2011-12-24
有没有人啊,我真的很需要这个,帮帮我好么
作者: zxl_836707202 发布时间: 2011-12-24
Delphi(Pascal) code
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; Button7: TButton; Image1: TImage; procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} var btn: TButton; const y1 = 10; y2 = 80; {先设置画笔画刷} procedure TForm1.FormCreate(Sender: TObject); begin Canvas.Pen.Width := 2; Canvas.Pen.Color := clRed; Canvas.Brush.Color := clWhite; end; procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin end; {绘制椭圆; 椭圆的参数和矩形是一样的} procedure TForm1.Button1Click(Sender: TObject); begin btn := TButton(Sender); Canvas.Ellipse(btn.Left, y1, btn.Left+btn.Width, y2); end; {根据矩形结构绘制椭圆} procedure TForm1.Button2Click(Sender: TObject); var R: TRect; {定义一个矩形结构} begin btn := TButton(Sender); R := Rect(btn.Left, y1, btn.Left+btn.Width, y2); Canvas.Ellipse(R); end; {绘制扇形} procedure TForm1.Button3Click(Sender: TObject); begin btn := TButton(Sender); Canvas.Pie( btn.Left, y1, {矩形区域左上角} btn.Left + btn.Width, y2, {矩形区域右下角} btn.Left + btn.Width, y1 + (y2-y1) div 2, {扇形起点} btn.Left + btn.Width div 2, y1); {扇形终点} end; {绘制弦, 参数同上} procedure TForm1.Button4Click(Sender: TObject); begin btn := TButton(Sender); Canvas.Chord( btn.Left, y1, btn.Left + btn.Width, y2, btn.Left + btn.Width, y1 + (y2-y1) div 2, btn.Left + btn.Width div 2, y1 ); end; {绘制弧线, 参数同上} procedure TForm1.Button5Click(Sender: TObject); begin btn := TButton(Sender); Canvas.Arc( btn.Left, y1, btn.Left + btn.Width, y2, btn.Left + btn.Width, y1 + (y2-y1) div 2, btn.Left + btn.Width div 2, y1 ); end; procedure TForm1.Button6Click(Sender: TObject); begin canvas.MoveTo(100,100); //将画笔移动到(100,100)处 canvas.LineTo(200,200); //从(100,100)画一条直线到(200,200) end; procedure draw_cen(cen_point,Length:integer);//绘制中心线 begin end; procedure TForm1.Button7Click(Sender: TObject); var w_cen,h_cen:Integer; begin with Image1 do begin Canvas.Pen.Color := clRed; //设置颜色 w_cen:=Image1.Width div 2; //x中心点 h_cen:=Image1.Height div 2; //y中心点 Canvas.Rectangle(w_cen-10,h_cen-10,w_cen+10,h_cen+10); //绘制矩形 canvas.MoveTo(w_cen,h_cen); //将画笔移动到中心处 canvas.LineTo(w_cen,h_cen+50); //向上绘制50 canvas.MoveTo(w_cen,h_cen); //将画笔移动到中心处 canvas.LineTo(w_cen,h_cen-50); //向上绘制50 canvas.MoveTo(w_cen,h_cen); //将画笔移动到中心处 canvas.LineTo(w_cen+50,h_cen); //向上绘制50 canvas.MoveTo(w_cen,h_cen); //将画笔移动到中心处 canvas.LineTo(w_cen-50,h_cen); //向上绘制50 Update; end; end; end.
作者: zhangqiwen 发布时间: 2011-12-24
窗体上放 button1~button7 7个按钮可以测试 ,我以前写的片段,图上不来
作者: zhangqiwen 发布时间: 2011-12-24
http://topic.csdn.net/t/20021027/17/1129260.html
这是Delphi的例子,建议遇到不懂的,自己先 google下。
这是Delphi的例子,建议遇到不懂的,自己先 google下。
作者: chhrsas 发布时间: 2011-12-24
谢谢你们
作者: zxl_836707202 发布时间: 2011-12-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28