procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
ACanvas: TCanvas;
i :Integer;
S :string;
R :TRect;
begin
S :='Delphi Tips & Tricks';
R :=Panel1.ClientRect;
//Panel1のデバイスコンテキストのハンドルを取得
DC :=GetDC(Panel1.Handle);
try
ACanvas :=TCanvas.Create;
try
//取得したHDCを生成したTCanvasに関連つける
ACanvas.Handle :=DC;
//---描画処理開始---
ACanvas.Pen.Color :=clRed;
ACanvas.Brush.Style :=bsClear;
for i :=0 to 14 do
ACanvas.Rectangle(10 + 5*i, 10 + 5*i,
Panel1.ClientWidth -10 - 5*i,
Panel1.ClientHeight-10 - 5*i);
ACanvas.Font.Style :=[fsBold];
ACanvas.Font.Size :=20;
DrawText(ACanvas.Handle, PChar(S), Length(S), R,
DT_CENTER or DT_VCENTER or DT_SINGLELINE);
//---ここまで---
finally
ACanvas.Free;
end;
finally
ReleaseDC(Panel1.Handle, DC);
end;
end; |