MFC picture控件显示图片(新手)

1.基于对话框程序,图片显示在picture控件上,图片通过特定的库从文件夹中把文件读成DIB数据块,用StretchDIBits进行显示;

2.图片显示放在OnPaint里面,图片数据在别的函数中加载后,调用InvalidateRect()


遇到的问题:

(1)2中函数第二个参数用FLASE,留有上一张图片的残留:改成TRUE;

(2)改成TRUE后,遇到两个问题:一、第一次什么都不显示,要移动或者最小化一次才正常:

对话框OnPaint中 先 CDialog::OnPaint();这句 是 保证 对话框里的 控件 都 收到 Invalidate。
然后 m_Pic。UpdateWundow();// 保证 Pic 客户区 有效。
然后 你的 原代码。 

二、图片显示闪烁:网上大都是采用双缓冲显示图片,试了,没成功。后来看了一个帖子,在OnEraseBkgnd中,用ExcludeClipRect排除图片实际的显示区域,能正常显示了。(先这么着,别的方法以后再研究)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值