procedure SaveControlImage(Control: TWinControl; FileName: TFileName);
var
DC: HDC;
Bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
try
Bitmap.Width := Control.Width;
Bitmap.Height := Control.Height;
DC := GetWindowDC(Control.Handle);
BitBlt(Bitmap.Canvas.Handle, 0, 0, Control.Width, Control.Height, DC, 0, 0, SRCCOPY);
ReleaseDC(Control.Handle, DC);
Bitmap.SaveToFile(FileName);
finally
Bitmap.Free;
end;
end;