memerydc.h
来自「无聊的时候编写的」· C头文件 代码 · 共 56 行
H
56 行
#pragma once
class CMemeryDC :public CDC
{
public:
private:
CBitmap m_bitmap; // Offscreen bitmap
CBitmap* m_oldBitmap; // bitmap originally found in CMemeryDC
CDC* m_pDC; // Saves CDC passed in constructor
CRect m_rect; // Rectangle of drawing area.
public:
CMemeryDC(CDC* pDC, const CRect* pRect = NULL) : CDC()
{
ASSERT(pDC != NULL);
m_pDC = pDC;
m_oldBitmap = NULL;
if (pRect == NULL)
{
pDC->GetClipBox(&m_rect);
}
else
{
m_rect = *pRect;
}
CreateCompatibleDC(pDC);
m_bitmap.CreateCompatibleBitmap(pDC, m_rect.Width(), m_rect.Height());
m_oldBitmap = SelectObject(&m_bitmap);
}
~CMemeryDC()
{
m_pDC->BitBlt( m_rect.left,
m_rect.top,
m_rect.Width(),
m_rect.Height(),
this, m_rect.left,
m_rect.top, SRCCOPY);
SelectObject(m_oldBitmap);
}
CMemeryDC* operator->()
{
return this;
}
operator CMemeryDC*()
{
return this;
}
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?