1. CPaintDC是MFC提供的一个从CDC继承来的类。如果我们直接使用CDC的话,需要首先调用CWnd的BeginPaint函数为重绘工作做一些准备工作,在完成绘制之后还要调用EndPaint函数表示结束绘制工作。所有的绘图操作都必须在这两个函数之间完成。CPaintDC封装了这两个函数,自动地对它们进行调用,使用者无须再去进行这些调用。通常CPaintDC用来响应WM_PAINT消息。一般应用在OnPaint函数.
2. 2. CClientDC也是从CDC派生出来的.构造时自动调用GetDC函数,析构时自动调用ReleaseDC函数.一般应用于客户区窗口的绘制.
另外, CPaintDC只能在WM_PAINT消息中使用, 用于有重画消息发出时才使用的内存设备环境, 而CClientDC和客户区相关,有重画消息发出时才使用的内存设备环境, 可在任何地方使用.