用Pciture控件上面显示图片,OnPaint()里面绘制其他图片被Pic的图片覆盖

eco123456 2014-07-27 04:18:01
代码思路:

小弟本来在Pciture控件里里载入了一个背景图片
然后使用CImage在背景图片上面绘制其他图片

出现的问题:

在OnPaint()里绘制CImage的图片,但是发现会被Pciture控件里里载入的背景图片覆盖,请问路过的大哥有啥好办法么?


void CWare::OnPaint()
{
//::UpdateWindow(m_hWnd); //如果使用这个显示会正常,但是所有主窗口和子窗口空间全部会刷新,很闪
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CDialogEx::OnPaint()
this->ShowImagePaint();//此函数是CImage绘制图片的,但是会被Pciture控件载入的图片覆盖
}

...全文
232 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
向立天 2014-08-30
  • 打赏
  • 举报
回复
您好 我是本版版主 此帖已多日无人关注 请您及时结帖 如您认为问题没有解决可按无满意结帖处理 另外本版设置了疑难问题汇总帖 并已在版面置顶 相关规定其帖子中有说明 您可以根据规定提交您帖子的链接 如您目前不想结帖只需回帖说明 我们会删除此结帖通知 见此回复三日内无回应 我们将强制结帖 相关规定详见界面界面版关于版主结帖工作的具体办法
Eleven 2014-07-30
  • 打赏
  • 举报
回复
引用 2 楼 eco12345 的回复:
[quote=引用 1 楼 CometNet 的回复:] ShowImagePaint是画到窗口上的?那你得用这个DC: CPaintDC dc(this); 如果是画到Pciture的,那就要在Pciture的OnPaint里绘制
ShowImagePaint()是直接画在窗口上面的,但是会被Pciture空间的背景图片覆盖,怎么才能让ShowImagePaint()画在最上面呢? 还有Pciture空间里怎么用OnPaint啊[/quote] 自己创建一个CStatic的派生类,添加WM_PAINT消息,在OnPaint函数中绘制你的图片
eco123456 2014-07-30
  • 打赏
  • 举报
回复
有人么。来给个意见啊
eco12345 2014-07-27
  • 打赏
  • 举报
回复
来个人啊。。。。
eco12345 2014-07-27
  • 打赏
  • 举报
回复
引用 1 楼 CometNet 的回复:
ShowImagePaint是画到窗口上的?那你得用这个DC: CPaintDC dc(this); 如果是画到Pciture的,那就要在Pciture的OnPaint里绘制
ShowImagePaint()是直接画在窗口上面的,但是会被Pciture空间的背景图片覆盖,怎么才能让ShowImagePaint()画在最上面呢? 还有Pciture空间里怎么用OnPaint啊
邓学彬 2014-07-27
  • 打赏
  • 举报
回复
ShowImagePaint是画到窗口上的?那你得用这个DC: CPaintDC dc(this); 如果是画到Pciture的,那就要在Pciture的OnPaint里绘制

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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