CBitmap m_StoreBmp; //存储位图 CDC m_StoreDC; //存储DC int m_nCoordStrLen; //坐标字符串长度 CPoint m_OldPt; //上次的鼠标位置 BOOL m_bStart; //鼠标是否开始移动 //拷贝重画位图,将视图中坐标字符串所要占的矩形位置的图像复制备份 //copyPt--鼠标当前的位置 void CDrawMouseView::CopyBitmap(CDC* pDC,CPoint copyPt) { if(m_StoreBmp.GetSafeHandle()){//如果已有位图,则先清空 m_StoreDC.DeleteDC(); m_StoreBmp.DeleteObject(); m_StoreBmp.m_hObject=0; } if(m_StoreDC.CreateCompatibleDC(pDC)) { if(m_StoreBmp.CreateCompatibleBitmap(pDC,m_nCoordStrLen,WORD_HEIGHT)) { m_StoreDC.SelectObject(&m_StoreBmp); m_StoreDC.BitBlt(0,0,m_nCoordStrLen,WORD_HEIGHT,pDC,copyPt.x+OFF_X,copyPt.y+OFF_Y,SRCCOPY); } else { if(m_StoreBmp.GetSafeHandle()) m_StoreBmp.DeleteObject(); m_StoreDC.DeleteDC(); } } } //画坐标 |