Dialog控件显示图片与FromView下Diglog显示图片

zd_moved 2016-05-26 11:23:48
请教大家一个问题:

1. 前几天遇到一个很奇怪的问题,以前编程一般都是基于Dialog,我要在某个picture控件上显示视频图像一般都是在init...的时候获取控件的CDC
CDC* pDC = (GetDlgItem(ID_VIDEO))->GetDC();
然后在线程中,每得到一帧图像,用StretchDIBits(pDC->m_hDC, ......)进行显示,都能正确显示视频 (不考虑双缓冲区做法)

2. 然后现在建立了一个基于FormView的工程,同样里面的Dialog中添加picture控件,然后在View的init...中初始化获取CDC指针,但是在线程中用StretchDIBits(pDC->m_hDC, ......)视频显示不出来。

如果我把CDC* pDC = (GetDlgItem(ID_VIDEO))->GetDC();挪到线程中(用完也release了),视频就能正常显示。
也就是说我每次显示都要获取HDC,显示,释放HDC

3. 问题就是为什么Dialog的工程只需初始化获取CDC就可以,FormView的就不可以呢?
...全文
83 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2016-05-27
  • 打赏
  • 举报
回复
DC 不能 跨 线程

15,979

社区成员

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

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