Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Оконная процедура и Fullscreen


Автор: AndreySol 2.12.2006, 09:00
Есть окно воспроизведения видео (исп. DirectShow), для которого установленна моя оконная процедура
Код

WNDPROC oldprocVideoWnd;
oldprocVideoWnd = (WNDPROC) SetWindowLong(pVideoHWnd, GWL_WNDPROC, (LONG) SubclassVideoWndProc);

ну и сама ф-ция в которой я делаю то что мне нужно.
Код

LRESULT CALLBACK SubclassVideoWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ 

    return ::CallWindowProc(oldprocVideoWnd, hwnd, uMsg, wParam, lParam);
}

Такая бяка - все вроде нормально, но попытка установить режим "Во весь экран" через
piVideoWindow->put_FullScreenMode(OATRUE);
вызывает пропадание окна и зависание проги. Без установки моей оконной процедуры все работает нормально.
В чем может быть дело, и есть ли способ заставить все работать как надо ? Может какие-то особенности есть при работе с "не родной" оконной процедурой ?
Конечно напрашивается решение: перед переходом "Во весь экран" возвращать родную оконную процедуру, по выходу из режима снова устанавливать свою. Но может есть решение подружить граф с  "не родной" оконной процедурой?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)