请问为什么要把CDC类的对象指针转化为与CPaintDC类兼容的DC?

来源:百度知道 编辑:UC知道 时间:2024/05/19 20:18:03
我在VC学习中发现在将窗口的背景换为图片时在OnPaint函数中有如下代码:
CPaintDC dc(this);
CDC *md=new CDC;
CBitmap *bitmap=new CBitmap;
GetClientRect(&rect);
md->CreateCompatibleDC(&dc);
请问为什么要将md转换为与dc兼容的DC?谢谢!

CPaintDC相当于一种工具
CDC相当于一只手
做什么事情就用手拿什么工具,并且换要知道这么那,这么放的问题

如果不转换,那么当窗口重画时,图片可能会遮挡对话框上的控件。虽然控件还在,但是在获得焦点前看不到。