请问panel上的东东怎么打印?打印时panel上的各控件能自动适应打印纸张吗?请指教!

解决方案 »

  1.   

    我的panel上顶部有一小panel,中部有两个PaintBox控件、下部有一个stringgrid控件,该怎么打印?
      

  2.   

    Panel.PaintTo(Printer.Canvas,0,0);
    如果要自动适应打印纸,要改变 Printer.Canvas.Handle 的坐标映射方式,详细清参考Window API SetMapMode()
      

  3.   

    谢谢xiaocha(小查),能否详细些?
      

  4.   

    给你一个例子:  SetMapMode(pb.Canvas.Handle,MM_ANISOTROPIC);
      SetWindowExtEx(pb.Canvas.Handle,Panel1.Width,Panel1.Height,nil);
      SetViewportExtEx(pb.Canvas.Handle,pb.Width,pb.Height,nil);
      Panel1.PaintTo(pb.Canvas,0,0);这里用pb: TPaintBox代替打印机