本例效果图:
代码文件:
代码文件:
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 := 360; 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, 360); g.DrawArc(p, x, y, w, h, a1, a2); g.Free; p.Free; end; end.窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 184 ClientWidth = 258 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnCreate = FormCreate OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 object Panel1: TPanel Left = 0 Top = 151 Width = 258 Height = 33 Align = alBottom BevelOuter = bvNone TabOrder = 0 ExplicitLeft = 8 ExplicitTop = 96 ExplicitWidth = 257 object Label2: TLabel Left = 136 Top = 8 Width = 52 Height = 13 Caption = #26059#36716#35282#24230':' end object Label1: TLabel Left = 8 Top = 8 Width = 52 Height = 13 Caption = #36215#22987#35282#24230':' end object SpinEdit2: TSpinEdit Left = 194 Top = 3 Width = 55 Height = 22 MaxValue = 0 MinValue = 0 TabOrder = 0 Value = 0 end object SpinEdit1: TSpinEdit Left = 66 Top = 3 Width = 55 Height = 22 MaxValue = 0 MinValue = 0 TabOrder = 1 Value = 0 end end end