How to take a screenshot of a control in Delphi

It's very simple. Just drop TScreenshot component onto your form, set Source to ssControl, assign Control ptoperty and call Snap method.

with Screenshot do
begin
  Source:=ssControl;
  Control:=SomeControl;
  if Snap then ImageShot.Picture.Assign(Screenshot);
end;
See also
Screenshot
Components for Delphi / C++ Builder
Howtos for Programmers