求助,vc6关于加载位图,cbitmap类

没事人 2014-07-13 09:42:12

CRect rc;
GetWindowRect(&rc);
CDC *pDC;
CDC memdc;
CBitmap *olddc;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
pDC=this->GetDC();
memdc.CreateCompatibleDC(pDC);
olddc=memdc.SelectObject(&bitmap);
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY);
if(olddc)
{
memdc.SelectObject(olddc);
}
CDialog::OnPaint();
}
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
没事人 2014-07-15
  • 打赏
  • 举报
回复
沉的太快了,
赵4老师 2014-07-14
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
没事人 2014-07-14
  • 打赏
  • 举报
回复
引用 2 楼 crestine 的回复:
CRect rc;
GetWindowRect(&rc);//获得窗口客户区
CDC *pDC;//DC指针,用于绘图操作
CDC memdc;//内存兼容DC
CBitmap *olddc;//保存DC中之前的位图对象
CBitmap bitmap;//承载位图的CBitmap对象
bitmap.LoadBitmap(IDB_BITMAP1);//从位图资源IDB_BITMAP1中载入位图
pDC=this->GetDC();//获得DC
memdc.CreateCompatibleDC(pDC);//创建内存兼容DC
olddc=memdc.SelectObject(&bitmap);//把位图选入DC,同时保存DC中之前的位图,因为后面要恢复它
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY);//复制位图到目标设备(这里是屏幕),也就是在屏幕上显示位图
if(olddc)
{
    memdc.SelectObject(olddc);//恢复之前的位图,如果不恢复,就会出现问题
}
CDialog::OnPaint();//调用父类的OnPaint函数
这个原理可以大概给我讲一下吗,图片是从哪里加载的
caewow 2014-07-14
  • 打赏
  • 举报
回复
CRect rc;
GetWindowRect(&rc);//获得窗口客户区
CDC *pDC;//DC指针,用于绘图操作
CDC memdc;//内存兼容DC
CBitmap *olddc;//保存DC中之前的位图对象
CBitmap bitmap;//承载位图的CBitmap对象
bitmap.LoadBitmap(IDB_BITMAP1);//从位图资源IDB_BITMAP1中载入位图
pDC=this->GetDC();//获得DC
memdc.CreateCompatibleDC(pDC);//创建内存兼容DC
olddc=memdc.SelectObject(&bitmap);//把位图选入DC,同时保存DC中之前的位图,因为后面要恢复它
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&memdc,0,0,SRCCOPY);//复制位图到目标设备(这里是屏幕),也就是在屏幕上显示位图
if(olddc)
{
    memdc.SelectObject(olddc);//恢复之前的位图,如果不恢复,就会出现问题
}
CDialog::OnPaint();//调用父类的OnPaint函数
没事人 2014-07-13
  • 打赏
  • 举报
回复
谁可以给我讲解下代码,以及原理,这是从固定文件夹加载的,还是怎么回事啊

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧