Открыть закрытое окно iVideoWindow. DX 9.0
От: Rett Pop Украина http://rettpop.blogspot.com
Дата: 28.11.04 08:14
Оценка:
Hi, All!

Возможно, вопрос простой, но ответа на него я пока не нашел.
В отдельном от основного потоке рендерится AVI-шка через соответствующие интерфейсы FilterGraph. Окно выводится в pWindow->put_FullScreenMode(OAFALSE). Затем окно должно прятаться и по запросу вновь разворачиваться на FullScreen. Вроде все работает. Проблема возникает, если во время видимости окна юзер нажмет Alt-F4. Программа работает нормально, но восстановить воспроизведение в окне так и не удается. Объясните, плз, что нужно сделать, чтобы закрытое руками окно опять открылось и воспроизведение продолжилось.

WBR, Rett Pop.
----------------
WBR, Rett Pop
Re: Открыть закрытое окно iVideoWindow. DX 9.0
От: Rett Pop Украина http://rettpop.blogspot.com
Дата: 28.11.04 10:33
Оценка:
RP> Окно выводится в pWindow->put_FullScreenMode(OAFALSE).
pWindow->put_FullScreenMode(OATRUE), конечно же. Очепятка.
----------------
WBR, Rett Pop
Re: Открыть закрытое окно iVideoWindow. DX 9.0
От: romson  
Дата: 28.11.04 18:48
Оценка:
Здравствуйте, Rett Pop, Вы писали:

RP>Hi, All!


RP> Возможно, вопрос простой, но ответа на него я пока не нашел.

RP> В отдельном от основного потоке рендерится AVI-шка через соответствующие интерфейсы FilterGraph. Окно выводится в pWindow->put_FullScreenMode(OAFALSE). Затем окно должно прятаться и по запросу вновь разворачиваться на FullScreen. Вроде все работает. Проблема возникает, если во время видимости окна юзер нажмет Alt-F4. Программа работает нормально, но восстановить воспроизведение в окне так и не удается. Объясните, плз, что нужно сделать, чтобы закрытое руками окно опять открылось и воспроизведение продолжилось.

RP>WBR, Rett Pop.


Можно с помощью IVideoWindow::put_MessageDrain перевести сообщения о нажатии в своё окно, отлавливать там Alt+F4 и выходить из полноэкранного режима корректно, т.е. путём вызова put_FullScreenMode(OAFALSE), либо не обрабатывать это нажатие вообще.
Re[2]: Открыть закрытое окно iVideoWindow. DX 9.0
От: Rett Pop Украина http://rettpop.blogspot.com
Дата: 29.11.04 11:03
Оценка:
Здравствуйте, romson, Вы писали:

RP>> В отдельном от основного потоке рендерится AVI-шка через соответствующие интерфейсы FilterGraph. Окно выводится в pWindow->put_FullScreenMode(OAFALSE). Затем окно должно прятаться и по запросу вновь разворачиваться на FullScreen. Вроде все работает. Проблема возникает, если во время видимости окна юзер нажмет Alt-F4. Программа работает нормально, но восстановить воспроизведение в окне так и не удается. Объясните, плз, что нужно сделать, чтобы закрытое руками окно опять открылось и воспроизведение продолжилось.


R>Можно с помощью IVideoWindow::put_MessageDrain перевести сообщения о нажатии в своё окно, отлавливать там Alt+F4 и выходить из полноэкранного режима корректно, т.е. путём вызова put_FullScreenMode(OAFALSE), либо не обрабатывать это нажатие вообще.


Проблема в том, что у меня нет своего окна. И создавать его сильно нежелательно.
Пока вышел из положения так: в потоке запускается проигрывание файла, обрабатваются сообщения графа, и в случае прерывания воспроизведения (закрытия окна) поток прерывается. При следующем запуске все интерфейсы DX переинициализируются и поток запускается заново. Если этого не делать, то выводимое окно содержит последний перед прерыванием кадр файла. Хотелось бы избежать этой повторной переинициализации.
----------------
WBR, Rett Pop
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.