Einen Screenshot von einem Formular machen

Erklärung
Mit der Funktion BitBlt ist es uns möglich einen bestimmten Bereich des Bildschirmes als Bitmap zu speichern...

Quelltext
  procedure TForm1.Button1Click(Sender: TObject);
var
  dc: HDC;
begin
  Image1.Picture.bitmap.Width := self.Width;
  Image1.Picture.bitmap.Height := self.Height;
    dc := GetDc(0);
  if (dc = 0) then Exit;
      BitBlt(Image1.Picture.bitmap.Canvas.Handle,
         0,
         0,
         self.Width,
         self.Height,
         Dc,
         self.left,
         self.top,
         SRCCOPY);

  ReleaseDc(0, dc);
end;