CClientDC:用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中的客户区。其构造函数中包含了GetDC,析构函数中包含了ReleaseDC;
用法一般是:
CClientDC dc(this);//注意:这里面的this一般指的是本窗口和当前活动窗口。
CString str;
dc.drawText(0,0,str,str.GetLength())://利用dc输出文本。
CPaintDC用于响应窗口消息重绘消息(WM_PAINT)时的绘图输出,CPaintDC在构造函数调用中调用BeginPaint()取得设备上下文,在析构函数中调用EndPaint()释放设备上下文。EndPaint()除了释放设备上下文外,还负责从 消息队列中清除WM_PAINT消息。因此,在处理窗口重画时,必须使用CPaintDC,否则WM_PAINT消息无法从消息队列中清除,将引起不断的窗口重画。CPaintDC也只能用在WM_PAINT消息处理之中。