感觉相当有难度!

解决方案 »

  1.   

    这是将窗体的内容存为bmpprocedure TForm1.Button1Click(Sender: TObject);
    var
      bmp:Tbitmap;
    begin
      bmp:=tbitmap.Create;
      bmp.Width:=clientWidth;
      bmp.Height:=clientHeight;
      bmp.Canvas.CopyRect(self.GetClientRect,self.Canvas,self.GetClientRect);
      bmp.SaveToFile('d:\12.bmp');
      bmp.Free;
    end;
      

  2.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
     dc: HDC;
     h: THandle;
     Rct: TRect;
    begin
     h := getforegroundwindow;
     getwindowrect(h, rct);
     offsetrect(rct, -rct.left, -rct.top);
     dc := getwindowdc(h);
     with image1.picture.bitmap do
     begin
       width := rct.right;
       height := rct.bottom;
    //   bitblt(canvas.handle, 0, 0, width, height, dc, 0, 0, SRCCOPY);
          bitblt(canvas.handle,  0, 0, width, height, dc, Panel1.Left, Panel1.Top, SRCCOPY);
     end;
     releasedc(h, dc);
    end;
      

  3.   

    考贝panel内容procedure TForm1.Button1Click(Sender: TObject);
    var
      bmp:Tbitmap;
      rt,rtd: Trect;
    begin
      bmp:=tbitmap.Create;
      bmp.Width:=panel1.Width;
      bmp.Height:=panel1.Height;
      rt.Left:=panel1.Left;
      rt.Top:=panel1.Top;
      rt.Right:=panel1.Left+panel1.Width;
      rt.Bottom:=panel1.Top+panel1.Height;
      rtd.Left:=0;
      rtd.Top:=0;
      rtd.Right:=panel1.Width;
      rtd.Bottom:=panel1.Height;  bmp.Canvas.CopyRect(rtd,self.Canvas,rt);
      bmp.SaveToFile('d:\12.bmp');
      bmp.Free;end;