修改完毕:
CMemDC::CMemDC(CDC* pDC, const CRect& rcBounds) : CDC()
{
CreateCompatibleDC(pDC);
m_pBitmap = new CBitmap(); int nWidth=rcBounds.Width();
int nHeight=rcBounds.Height();
m_pBitmap->CreateCompatibleBitmap(pDC, nWidth, nHeight);
m_pOldBitmap = SelectObject(m_pBitmap); m_pDC = pDC;
m_rcBounds = rcBounds;
}CMemDC::~CMemDC()
{
int nWidth=m_rcBounds.Width();
int nHeight=m_rcBounds.Height();
m_pDC->BitBlt(m_rcBounds.left, m_rcBounds.top, nWidth, nHeight, this, m_rcBounds.left, m_rcBounds.top, SRCCOPY);
SelectObject(m_pOldBitmap);
if (m_pBitmap != NULL) delete m_pBitmap;
}
CMemDC::CMemDC(CDC* pDC, const CRect& rcBounds) : CDC()
{
CreateCompatibleDC(pDC);
m_pBitmap = new CBitmap(); int nWidth=rcBounds.Width();
int nHeight=rcBounds.Height();
m_pBitmap->CreateCompatibleBitmap(pDC, nWidth, nHeight);
m_pOldBitmap = SelectObject(m_pBitmap); m_pDC = pDC;
m_rcBounds = rcBounds;
}CMemDC::~CMemDC()
{
int nWidth=m_rcBounds.Width();
int nHeight=m_rcBounds.Height();
m_pDC->BitBlt(m_rcBounds.left, m_rcBounds.top, nWidth, nHeight, this, m_rcBounds.left, m_rcBounds.top, SRCCOPY);
SelectObject(m_pOldBitmap);
if (m_pBitmap != NULL) delete m_pBitmap;
}
解决方案 »
- 用gethostbyaddr获取搜狐主机时遇到的奇怪问题
- com几个概念,组件和类的关系
- CFile类使用时的一个莫名其妙的错误
- 菜鸟问题:怎么在ListControl控件里每插入一行,就在第一列加个图标!!!!!!!!!!!!!!!
- 我怎样通过代码实现判定是分区的文件系统NTFS还是FAT
- 如何把16位的灰度图像值读出来,放到一个整型的数组里?
- 结构体的指针问题!!1
- 如何让当前数据行高亮显示
- 想要读取DXF文件,到请问有谁用过CADLib,不知道怎么用,求帮助
- *************请问“typedef int(*PFUNC)(void);”的含义,PFUNC被定义成了什么?**************
- 第一次提问,不知道有效没有
- TreeCtrl里面的SetItemData通常只能设置DWORD,我想设置字符串,怎么弄?有无其他方法?
CMemDC::CMemDC(CDC* pDC, const CRect& rcBounds) : CDC()
{
CreateCompatibleDC(pDC);
m_pBitmap = new CBitmap(); int nWidth=rcBounds.Width();
int nHeight=rcBounds.Height();
m_pBitmap->CreateCompatibleBitmap(pDC, nWidth, nHeight);
m_pOldBitmap = SelectObject(m_pBitmap); m_pDC = pDC;
m_rcBounds = rcBounds;
}CMemDC::~CMemDC()
{
int nWidth=m_rcBounds.Width();
int nHeight=m_rcBounds.Height();
m_pDC->BitBlt(m_rcBounds.left, m_rcBounds.top, nWidth, nHeight, this, m_rcBounds.left, m_rcBounds.top, SRCCOPY);
SelectObject(m_pOldBitmap);
if (m_pBitmap != NULL) delete m_pBitmap;
}