www.pudn.com > HReportTest.rar > HMemDC.h


// HMemDC.h: interface for the CHMemDC class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_HMEMDC_H__A301D874_0A0B_4E92_903C_AFE4DFEF071F__INCLUDED_) 
#define AFX_HMEMDC_H__A301D874_0A0B_4E92_903C_AFE4DFEF071F__INCLUDED_ 
 
#if _MSC_VER > 1000 
#pragma once 
#endif 
 
class CHMemDC : public CDC   
{ 
	DECLARE_DYNAMIC(CHMemDC); 
 
public: 
	CHMemDC( CDC* pDC, const CRect& rect, COLORREF clrColor = m_clr3DFace); 
	virtual ~CHMemDC(); 
 
	void Discard() 
	{ 
		m_bValid = FALSE; 
	} 
 
	void FromDC() 
	{ 
		BitBlt(0, 0, m_rc.Width(), m_rc.Height(), m_pDC,  
			m_rc.left, m_rc.top, SRCCOPY);			 
	} 
 
	CBitmap& GetBitmap() { return m_bitmap; } 
	 
protected: 
	CDC*	m_pDC;		// Saves CDC passed in constructor 
	CRect	m_rc;		 // Rectangle of drawing area. 
	CBitmap  m_bitmap;	 // Offscreen bitmap 
	CBitmap* m_pOldBitmap; // Original GDI object 
	BOOL	 m_bValid;	   // flag for autodraw in dtor 
	static const COLORREF m_clr3DFace; 
}; 
 
#endif // !defined(AFX_HMEMDC_H__A301D874_0A0B_4E92_903C_AFE4DFEF071F__INCLUDED_)