我要打印窗体中的右边区域,请问怎样实现?

解决方案 »

  1.   

    設置一個選擇控件,當用戶選擇不同值作報表顯示不同的內容,
    報表資料上全部用qrlable顯示,
      

  2.   

    比如你在窗体中放一个panel控件,然后把panel所有东西何存成一张图片,最后再把这张图片放到令外一个窗体中去,然后把这个窗体打印出来不就得了吗。are you ......
    procedure TForm1.Button2Click(Sender: TObject);
    var
      dc: hdc;
      Mycan: Tcanvas;
      R: TRect;
      Mybmp:TBitmap;
      p, CP:TPoint ;
    begin
      Mybmp := Tbitmap.Create; {建立BMPMAP }
      Mycan := TCanvas.Create; {屏幕截取}
      dc := GetWindowDC(0);  try
        p.x:= Panel1.Left;
        p.y:= Panel1.Top;
        CP:= ClientToScreen(p);
        Mycan.Handle := dc;
        R := Rect(CP.x,CP.y,CP.x+Panel1.Width,CP.y+Panel1.Height);
        Mybmp.Width := Panel1.Width;
        Mybmp.Height := Panel1.Height;
        Mybmp.Canvas.CopyRect(Mybmp.Canvas.ClipRect,Mycan,R);
        if savedialog1.Execute then
        mybmp.SaveToFile(savedialog1.filename+'.bmp');
      finally
        releaseDC(0, DC);
        mycan.Free;
        mybmp.Free;
      end;
    end;