我在一form上放一大Image,再放若干Edit和若干小Image,用于显示从数据库中读出的数据,最后,在大Image上绘图。 请问: 我怎样才能把绘图之后的大Image区域保存为一BMP图象?下面有些代码,据说是支持抓取某窗体(或窗体控件)的区域,用了,不行!请大家指教:
procedure g_fun_SnatchScreen(HWnd:THandle);
var
  TheRECT: TRect;
  TheWidth: integer;
  TheHeight: integer;
  SourceDC: integer;
  DestDC: integer;
  BHandle: integer;
  Wnd: integer;
begin
  GetWindowRect(HWnd, therect);
  thewidth := therect.Right - therect.left;
  TheHeight := therect.Bottom - therect.Top;
  sourcedc := CreateDC('Display', 0, 0, 0);
  DestDC := CreateCompatibleDC(sourcedc);
  BHandle := CreateCompatibleBitmap(sourcedc, thewidth, TheHeight);
  SelectObject(DestDC, BHandle);
  BitBlt(DestDC, 0, 0, TheWidth, TheHeight, SourceDC, TheRECT.Left, TheRECT.Top, MERGECOPY);
  wnd := HWnd;
  OpenClipboard(Wnd);
  EmptyClipboard;
  SetClipboardData(2, BHandle);
  CloseClipboard;
  DeleteDC(DestDC);
  ReleaseDC(BHandle, SourceDC);
end;