CaptureComponentToBmp

CaptureComponentToBmp

代码
{*******************************************************}
{ }
{ Created By: Ming.z }
{ Creation Date 2010-12-28 }
{ }
{*******************************************************}

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1
= class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure CaptureComponentToBmp(aControl:TWinControl;const savePath:String);
var
can: TCanvas;
bmp: TBitmap;
begin
can :
= TCanvas.Create;
bmp :
= TBitmap.Create;
try
bmp.Width :
= aControl.Width;
bmp.Height :
= aControl.Height;
can.Handle :
= GetDC(aControl.Handle);
bmp.Canvas.CopyRect(aControl.ClientRect,can,aControl.ClientRect);
bmp.SaveToFile(savePath);
finally
bmp.Free;
can.Free;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CaptureComponentToBmp(Memo1,
'E:\Memo1.bmp');
ShowMessage(
'OK');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
CaptureComponentToBmp(Panel1,
'E:\Panel1.bmp');
ShowMessage(
'OK');
end;

end.

 

posted @ 2010-12-28 10:44  Jekhn  阅读(144)  评论(0编辑  收藏  举报