关于绘图!

                            
我在一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;

查看回复