При использовании DirectShow у меня возникла проблема при перерисовке окна видео в MFC приложении: при ресайзе оно не всегда перерисовывается.
В SDK сказано:
Note: MFC applications in which the video renderer is in a child window must have an empty WM_ERASEBKGND message handler in order for the video display area to repaint correctly.
Я создал наследника CStatic и переписал в нем обрaботчик
OnEraseBkgnd()
{
return TRUE;
}
В этот статик ( я его засубклассил ) я и вывожу видео.
Вывод напрямую в статик дает тот же результат.
Также я делаю для него
m_Screen.ModifyStyle(0, WS_CLIPCHILDREN);
Этот метод позволяет решить вышеописанную проблему в не MFC ( API ) приложении. но не в MFC.
А теперь извечный вопрос: Кто виноват и что делать? :)
10.01.03 19:08: Перенесено модератором из 'Мультимедиа, графика, звук' в MFC — ХД