//GetDc获得CDC的指针
CDC *PDc=GetDC();
ReleaseDC(PDc);//释放DC
//若上面的代码出现在OnPaint() 中,则需要使用CWnd::BeginPaint()和CWnd::EndPaint()
//代替GetDc 和 ReleaseDc
PAINTSTRUCT ps;
/*
每个窗口要有一个PAINTSTRUCT结构来记录一些绘制信息,PAINTSTRUCT结构保存了窗口绘制客户区的一些信息,例如,绘制客户区时是否要清除背景色,要更新的客户区的矩形区域的大小等等,MFC里的CPaintDC与之对应;
除了BeginPaint可以得到客户区设备描述表的句柄外,GetDC也一样可以得到,MFC里的CClientDC与之对应。
它们之间的区别是前者只能用在WM_PAINT消息处理函数里用来重绘客户区。
后者虽然也表示客户区的设备描述表,但是不能更新无效区(比方说客户区被一个弹出对话框覆盖)。
*/
CDC *PDc=BeginPaint(ps);
CDC *PDc=GetDC();
ReleaseDC(PDc);//释放DC
//若上面的代码出现在OnPaint() 中,则需要使用CWnd::BeginPaint()和CWnd::EndPaint()
//代替GetDc 和 ReleaseDc
PAINTSTRUCT ps;
/*
每个窗口要有一个PAINTSTRUCT结构来记录一些绘制信息,PAINTSTRUCT结构保存了窗口绘制客户区的一些信息,例如,绘制客户区时是否要清除背景色,要更新的客户区的矩形区域的大小等等,MFC里的CPaintDC与之对应;
除了BeginPaint可以得到客户区设备描述表的句柄外,GetDC也一样可以得到,MFC里的CClientDC与之对应。
它们之间的区别是前者只能用在WM_PAINT消息处理函数里用来重绘客户区。
后者虽然也表示客户区的设备描述表,但是不能更新无效区(比方说客户区被一个弹出对话框覆盖)。
*/
CDC *PDc=BeginPaint(ps);
EndPaint(ps);