#pragma once
|
|
// CCHBufferDC
|
class AFX_EXT_CLASS CCHBufferDC : public CDC
|
{
|
|
private:
|
CCHBufferDC() { }
|
CCHBufferDC(const CCHBufferDC &src) { }
|
CCHBufferDC& operator=(const CCHBufferDC &src) { return *this; }
|
|
protected:
|
BOOL Attach(HDC hDC);
|
HDC Detach();
|
|
private:
|
CWnd* m_pParent; //´ë»ó À©µµ¿ì¿¡ ´ëÇÑ Æ÷ÀÎÅÍ
|
CDC* m_pTarget; //´ë»ó À©µµ¿ì DC¿¡ ´ëÇÑ Æ÷ÀÎÅÍ
|
PAINTSTRUCT m_PaintStruct;
|
CRect m_RcClient, m_RcWindow; //´ë»ó À©µµ¿ìÀÇ Å©±â Á¤º¸
|
|
CDC m_MemoryDC; //¹öÆÛ DC
|
CBitmap m_MemoryBmp, *m_pOldMemoryBmp; //¹öÆÛ¸µÀ» À§ÇÑ ºñÆ®¸Ê
|
|
public:
|
CCHBufferDC(CWnd *pParent);
|
~CCHBufferDC();
|
|
public:
|
inline CRect ClientRect() const { return m_RcClient; }
|
inline CRect WindowRect() const { return m_RcWindow; }
|
inline CRect UpdateRect() const { return m_PaintStruct.rcPaint; }
|
|
operator HDC() const { return m_MemoryDC.m_hDC; } // DC handle for API functions
|
};
|