下面是我加载一个位图的代码: CDC Dc;
if(Dc.CreateCompatibleDC(pDC)==FALSE)
AfxMessageBox("Can't create DC");
Dc.SelectObject(bitmap);
pDC->BitBlt(250,30,400,400,&Dc,0,0,SRCCOPY);当我删除代码:
if(Dc.CreateCompatibleDC(pDC)==FALSE)
AfxMessageBox("Can't create DC");
结果就不能加载位图,我想问下这行代码有什么作用?
if(Dc.CreateCompatibleDC(pDC)==FALSE)
AfxMessageBox("Can't create DC");
Dc.SelectObject(bitmap);
pDC->BitBlt(250,30,400,400,&Dc,0,0,SRCCOPY);当我删除代码:
if(Dc.CreateCompatibleDC(pDC)==FALSE)
AfxMessageBox("Can't create DC");
结果就不能加载位图,我想问下这行代码有什么作用?
解决方案 »
- 有没有想买书的 - 暂时限制在, 上海 和 杭州的朋友(100本 偶就去找)
- 5000月薪招27岁以下2年工作经历懂VC++的软件工程师
- 如何在MDI中索引首文档的首视图?
- 关于动态创建菜单的问题
- 请问有哪有计算机专业英语电子词典下载,用来查MSDN的.
- 学mfc应否先死背大量类及其成员函数?
- 请教socket问题!
- 10个小时写了一道算法,一夜的时间全用这上了!!!
- 通过ADO pCmd->Excute()执行update语句后修改库中记录时,是不是直接提交到库中的?
- 怎样替换开始按钮的WndProc
- 如何获取U盘的物理序列号
- XP如何在进入BOIS后的DOS界面启动自己的应用程序,然后再进入系统(急啊)
==============
这个是创建一个与pDC相兼容的DC,这个是不能删除的,CDC对象建立时,内部的HDC对象并没有建立,必须要用这个函数创建一个和实际DC相兼容的DC才能工作。
对于内存DC,在工作之前必须要用CreateCompatibleDC创建一个与实际设备DC相兼容的DC才能工作。
CreateCompatibleDC(NULL)效果相同。
// 去掉了错误检查,楼主你看一下,也许清晰一点。
Dc.CreateCompatibleDC(pDC); // 创建兼容DC
Dc.SelectObject(bitmap);
pDC->BitBlt(250,30,400,400,&Dc,0,0,SRCCOPY);