unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; Label1: TLabel; Label2: TLabel; SpinEdit1: TSpinEdit; SpinEdit2: TSpinEdit; procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} uses GDIPOBJ, GDIPAPI; var a1,a2: Integer; procedure TForm1.FormCreate(Sender: TObject); begin a1 := 0; a2 := 30; SpinEdit1.Text := IntToStr(a1); SpinEdit2.Text := IntToStr(a2); SpinEdit1.Increment := 10; SpinEdit2.Increment := 10; SpinEdit1.OnChange := FormPaint; SpinEdit2.OnChange := FormPaint; end; procedure TForm1.FormPaint(Sender: TObject); var g: TGPGraphics; p: TGPPen; x,y,w,h: Integer; begin g := TGPGraphics.Create(Canvas.Handle); p := TGPPen.Create(aclRed, 2); g.Clear(aclWhite); x := ClientWidth div 6; y := ClientHeight div 6; w := x * 4; h := y * 3; a1 := StrToIntDef(SpinEdit1.Text, 0); a2 := StrToIntDef(SpinEdit2.Text, 30); g.DrawPie(p, x, y, w, h, a1, a2); g.Free; p.Free; end; end.