这有一个打印panel中内容的代码,你参看一下吧
procedure TForm1.Button1Click(Sender: TObject);
var
DC: HDC;
Canvas: TCanvas;
begin
Canvas := TCanvas.Create;
DC := GetDC(0);
Canvas.Handle := DC;
printer.begin
doc;//准备打印
//下面是把 panel 在屏幕上的图象拷贝下来
printer.Canvas.CopyRect(rect(0,0,panel1.Width,panel1.Height),
canvas,
rect(self.Left+panel1.Left,
self.Top+panel1.Top,
self.Left+panel1.Left+panel1.Width,
self.Top+panel1.Top+panel1.Height));
ReleaseDC(0, DC);
canvas.Free;
printer.enddoc;//开始打印
end;
CopyRect 方法
第一个参数是目的矩形的大小
第二个参数源的canvas,这里也就是屏幕的
第三个参数是源的矩形,可能有差距,你修改一下
left,top,right,bottom 就行了