DelphiのVCLを使えるの? なら procedure PaintAngle(Canvas:TCanvas;x0,y0,r0,deg:Integer); var w:Extended; i:Integer; pt:array [0..2] of TPoint; begin w:=PI/180.0*deg; for i:=0 to 3-1 do begin pt[i].x:=round(x0+r0*sin(w)); pt[i].y:=round(y0+r0*cos(w)); w:=w+2*PI/3; end; Canvas.Polygon(pt); end; //試験コード var x0:Integer=200; y0:Integer=200; r0:Integer=100; deg:Integer=0; ///////////// タイマーを貼り付けてダブルクリック procedure TForm1.Timer1Timer(Sender: TObject); begin Invalidate; deg:=deg+10; end; ///////////// フォームのOnPaintに procedure TForm1.FormPaint(Sender: TObject); begin PaintAngle(Canvas,x0,y0,r0,deg); end;