程序如下:
procedure TForm2.Button1Click(Sender: TObject);
 var
 p: TPoint;
 rr,r:trect;
begin
  rr:= rect(10,10,300,200) ;
 try
  Escape(Printer.Handle, GETPRINTINGOFFSET, 0, nil, @p);
XOff := p.X;
YOff := p.Y;
pXppi := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
pYppi := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
Printer.BeginDoc;
 meta:=tmetafile.Create;
metac:= TMetafileCanvas.Create(meta,Printer.Canvas.Handle) ;    metac.Brush.style := bsClear;
    metac.Font.Name := 'Arial';
    metac.Font.PixelsPerInch := pYppi;
    metac.Font.Size := 10;
      r.Top := pYppi;
  r.Left := pXppi;
  r.Right := 5*pXppi;
  r.Bottom := 2*pYppi;
  Dec(r.Left, XOff);
Dec(r.Right, XOff);
Dec(r.Top, YOff);
Dec(r.Bottom, YOff);
       metac.Pen.Style := psDash;
   metac.Pen.Style := psSolid;
  DrawText(
      paintbox1.Canvas.Handle,
      pchar('fffffff'), Length(pchar('fffffff')), r, DT_CALCRECT or DT_EXPANDTABS or
        DT_NOPREFIX or DT_WORDBREAK ) ;
         form2.PaintBox1.Canvas.StretchDraw(rect(10,10,300,200), Meta);
         form2.Caption:=inttostr(meta.Height);
问题:为什么我得到的meta.height还是0,并且程序没有反应的,虽然可以运行!!,难道它没画吗???