CDC类定义的是设备上下文对象的类,有称设备环境对象类。CDC对象提供处理显示器或打印机等设备上下文的成员函数,以及处理与窗口客户区对应的显示上下文的成员.
CDC类及其派生类也是MFC中的一个大类,和绘图相关。
通过CDC对象的成员函数进行所有的绘图。
CDC类操控图形大体分两类,一类是“画画儿”,另一个是“贴图”。前者好比你拿着画笔、画刷自己描线、涂染料,后者则是用现成的画儿通过贴、拼来完成画作。
CDC类最为常用的几个子类是:CPaintDC类,CClientDC类,CWindowDC类。
CClientDC,CPaintDC的区别:CPaintDC的对象一般用在OnPaint内以响应Windows消息WM_PAINT,自动完成绘制,在整个窗口内进行重画,维持原有窗口完整性。CClientDC应用在非响应Windows消息WM_PAINT的情况下,进行实时绘制,绘制的区域内被重画。
新建一个基于对话框的MFC程序,在资源编辑器中插入一个位图资源,ID号为IDB_BITMAP1,在对话框类的OnPaint()处理函数中加入:
void CXXDialog::OnPaint()
{
//
dc.StretchBlt(0,0,rt.Width(),rt.Height(),&dcMemory,0,0,bmpInfo.bmWidth,
}