您的位置:首页 > 其它

direcshow中图象窗口的刷新问题

2008-02-29 09:33 239 查看
经常有刚接触的朋友问关于这类的问题,什么图象不刷新,拖动一下窗口就出来了呀等,在此我将相关处理方法写一下。
假设图象窗口的picture控件id为IDC_FRAME_VIEW,
pViewWindon 为 IVideoWindow*接口,作四步处理

1、修改显示控件属性
CWnd* pWnd = GetDlgItem(IDC_FRAME_VIEW);
pWnd->ModifyStyle(0, WS_CLIPCHILDREN);

2、设置为子窗口的句柄
CWnd* pWnd = GetDlgItem(IDC_FRAME_VIEW);
put_Owner((OAHWND)pWnd->GetSafeHwnd( ))

3、OnPaint 不用动

4、OnEraseBkgnd 加如下代码

RECT rect;
CWnd* pWnd = GetDlgItem(IDC_FRAME_VIEW);
pWnd->GetWindowRect(&rect);
ScreenToClient(&rect);
pDC-> ExcludeClipRect(&rect);
return CDialog::OnEraseBkgnd(pDC);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: