CRect rect;
//获取显示区域大小(该值为据对坐标,使用时需转换)
GetWindowRect(rect);
rect.SetRect(0, 0, rect.Width(), rect.Height());
//定义一个内存设备描述表对象(即后备缓冲区)
CDC MemDC;
//定义一个位图对象
CBitmap MemBitmap;
//建立与屏幕设备描述表(前端缓冲区)兼容的内存设备描述表句柄(后备缓冲区)
MemDC.CreateCompatibleDC(NULL);
//这时还不能绘图,因为没有位图的设备描述表是不能绘图的
//下面建立一个与屏幕设备描述表(或者内存设备描述表)兼容的位图
MemBitmap.CreateCompatibleBitmap(pDC,rect.Width(),rect.Height());
//将位图选入到内存设备描述表
//只有选入了位图的设备描述表才有地方绘图,画到指定的位图上
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
//先用背景色将位图清除干净,RGB(0,0,0)设置自己的颜色RGB值
MemDC.FillSolidRect(0,0,rect.Width(),rect.Height(),RGB(0, 0, 0));
//MemDC.FillSolidRect(rect, RGB(0, 0, 0));//直接使用rect同可
//使用MemDC绘制自己需要的内容,此处以直线为例
MemDC.MoveTo(0, 0);
MemDC.LineTo(100, 100);
//把内存DC复制到输入DC中
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&MemDC, 0, 0, SRCCOPY);
//绘图完成后的清理
MemBitmap.DeleteObject();
MemDC.DeleteDC();