//两种方式
unit draws;interfaceuses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
  h_DC:HDC;
  h_pen,h_oldpen:HPEN;
  h_Brush,h_OldBrush:HBRUSH;
begin
  h_DC:=GetDC(0);
  h_pen:=CreatePen(PS_SOLID,10,clRED);
  h_Brush:=CreateSolidBrush(clYellow);
// 将创建的画笔画刷选入设备上下文
// 同时保存原来的画笔画刷
  h_OldPen:=SelectObject(h_DC,h_Pen);
  h_OldBrush:=SelectObject(h_DC,h_Brush);
  Rectangle(h_DC,100,100,300,350);
  SelectObject(h_DC,h_OldPen);
  SelectObject(h_DC,h_OldBrush);
  DeleteObject(h_Pen);
  DeleteObject(h_Brush);
  ReleaseDC(0,h_DC);
  form1.Refresh;
end;procedure TForm1.Button2Click(Sender: TObject);
var
  AC:TCanvas;
  DC:THandle;
begin
  AC:=TCanvas.Create;
  DC:=GetDC(0);
  try
    AC.Handle:=DC;
    AC.Pen.Color:=clRed;
    AC.Pen.Width:=10;
    AC.Brush.Color:=clYellow;
    AC.Rectangle(500,100,700,350);
  finally
    ReleaseDC(0,DC);
    AC.Free;
  end;
  form1.Refresh;
end;end.