为什么我的cview::OnDraw 绘制的是黑白的
下面这段代码放到 Cview::OnDraw() 里,线没有画成红色的,而是黑的
{
CRect rect,ellipseRect;
GetClientRect(&rect);
CDC dcMem; //用于缓冲作图的内存DC
CBitmap bmp; //内存中承载临时图象的位图
dcMem.CreateCompatibleDC(pDC); //依附窗口DC创建兼容内存DC
bmp.CreateCompatibleBitmap(&dcMem,rect.Width(),rect.Height());//创建兼容位图
dcMem.SelectObject(&bmp); //将位图选择进内存DC
dcMem.FillSolidRect(rect,pDC->GetBkColor());//按原来背景填充客户区,不然会是黑色
// 在内存里操作图形
CPen gridPen(PS_SOLID, 3, RGB(255,0,0)); // 为什么选择颜色不其作用?
CPen* pOldPen;
pOldPen = dcMem.SelectObject(&gridPen);
dcMem.SaveDC();
dcMem.MoveTo(CPoint(0,0));
dcMem.LineTo(CPoint(100,300));
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,SRCCOPY);//将内存DC上的图象拷贝到前台
dcMem.DeleteDC(); //删除DC
bmp.DeleteObject();
}