本例效果圖:
代碼文件: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.
窗體文件: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