首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

模拟画一个时钟的有关问题

2012-04-01 
模拟画一个时钟的问题procedure TForm1.Timer1Timer(Sender: TObject)varMyNow: TDateTimeHour, Min, Se

模拟画一个时钟的问题
procedure TForm1.Timer1Timer(Sender: TObject);
var
  MyNow : TDateTime;
  Hour, Min, Sec, mSec : Word;
  vh, vm, vs : Real;
begin
  Self.Refresh;
  MyNow := Now;
  DecodeTime(MyNow,Hour,Min,Sec,mSec);
  vh := Hour/12.0*2*Pi; //小时数
  vm := Min/60.0*2*Pi; //分钟数
  vs := Sec/60.0*2*Pi; //秒

  with Canvas do
  begin
  Pen.Width:=4; //画时针
  Pen.Color := clBlue;
  MoveTo(100,100);
  LineTo(100+Round(25*Sin(vh)),100-Round(25*Cos(vh)));

  Pen.Width:=2; //画分针
  Pen.Color := clBlack;
  MoveTo(100,100);
  LineTo(100+Round(45*Sin(vm)),100-Round(45*Cos(vm)));

  Pen.Width:=1; //画秒针
  Pen.Color := clRed;
  MoveTo(100,100);
  lineto(100+round(60*sin(vs)),100-round(60*cos(vs)));


  end;

end;

// lineto(100+round(60*sin(vs)),100-round(60*cos(vs)));这句的意思是什么,不太明白
另外怎么画一圆

[解决办法]
和上面的一样,都是计算坐标,然后画线到这个坐标
vs := Sec/60.0*2*Pi;
100+60*sin(vs)这些计算公式慢慢研究吧,初中的三角知识运用在程序里面

[解决办法]
Ellipse(41,41,151,151);
41,41,151,151这个坐标定义是一个正方形,正方形的中心在100,100很容易就算出来的。
Ellipse(41,41,151,151);这个语句是在一个矩形范围内画圆,可以正圆也可是椭圆。它的圆心就矩形的中心点。
canvas.ellipse(40,40,160,160);这个圆点就是100,100

热点排行