Интерфейс IVideoWindow (control.h)
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Интерфейс IVideoWindow
задает свойства в окне видео. Приложения могут использовать его для задания владельца окна, положения и размеров окна, а также других свойств.
IVideoWindow
Дополнительные сведения см. в разделе Использование режима без окон.В большинстве случаев приложение должно запрашивать диспетчер Фильтров Graph для этого интерфейса, а не вызывать фильтр напрямую из-за описанной проблемы с сообщениями. Однако если в графе фильтра есть несколько отрисовщика видео, диспетчер графа фильтров взаимодействует только с одним из них, выбранным произвольно. Таким образом, если приложение использует несколько видеоокна, используйте IVideoWindow
интерфейс непосредственно в фильтрах. В этом случае сообщения окна необходимо пересылать в каждый экземпляр Отрисовщика видео с помощью метода IVideoWindow::NotifyOwnerMessage .
Чтобы предотвратить мерцание окна видео во время перерисовки, переопределите обработку по умолчанию для WM_ERASEBKGND сообщения и не стирайте окно. (Для приложений MFC переопределите CWnd::OnEraseBkgnd пустым обработчиком.)
Свойства, заданные в отрисовщике видео, сохраняются между последовательными подключениями и отключениями.
Так как этот интерфейс совместим с автоматизацией, все логические значения определяются как OAFALSE (0) и OATRUE (–1).
Коды ошибок: Если фильтр отрисовщика видео не подключен к другому фильтру, все методы возвращают код ошибки VFW_E_NOT_CONNECTED. Если для реализации диспетчера графов фильтров графа нет фильтра отрисовщика видео, все методы возвращают E_NOINTERFACE. Обратите внимание, что диспетчер графов фильтров предоставляет интерфейс, даже если граф не содержит видео отрисовщика, поэтому приложение может запросить интерфейс перед построением графа.
Разработчики фильтров: Для реализации этого интерфейса можно использовать класс CBaseVideoWindow .
Наследование
Интерфейс IVideoWindow наследуется от интерфейса IDispatch . IVideoWindow также имеет следующие типы элементов:
Методы
Интерфейс IVideoWindow содержит следующие методы.
IVideoWindow::get_AutoShow Метод get_AutoShow запрашивает, отображает ли отрисовщик видео автоматически окно видео при получении видеоданных. |
IVideoWindow::get_BackgroundPalette Метод get_BackgroundPalette запрашивает, реализует ли окно видео свою палитру в фоновом режиме. |
IVideoWindow::get_BorderColor Метод get_BorderColor извлекает цвет, который отображается по краям прямоугольника назначения. |
IVideoWindow::get_Caption Метод get_Caption извлекает подпись окна видео. |
IVideoWindow::get_FullScreenMode Метод get_FullScreenMode запрашивает, находится ли отрисовщик видео в полноэкранном режиме. |
IVideoWindow::get_Height Метод get_Height извлекает высоту окна видео. |
IVideoWindow::get_Left Метод get_Left извлекает координату оси X окна видео. |
IVideoWindow::get_MessageDrain Метод get_MessageDrain извлекает окно, которое получает сообщения с помощью мыши и клавиатуры из окна видео, если таковые есть. |
IVideoWindow::get_Owner Метод get_Owner извлекает родительское окно окна видео, если оно есть. |
IVideoWindow::get_Top Метод get_Top извлекает координату окна видео по оси Y. |
IVideoWindow::get_Visible Метод get_Visible запрашивает, отображается ли окно видео. |
IVideoWindow::get_Width Метод get_Width извлекает ширину окна видео. |
IVideoWindow::get_WindowState Метод get_WindowState запрашивает, является ли окно видео видимым, скрытым, свернутым или развернутым. |
IVideoWindow::get_WindowStyle Метод get_WindowStyle извлекает стили окна в окне видео. |
IVideoWindow::get_WindowStyleEx Метод get_WindowStyleEx извлекает расширенные стили окна в окне видео. |
IVideoWindow::GetMaxIdealImageSize Метод GetMaxIdealImageSize извлекает максимальный идеальный размер изображения для видео. |
IVideoWindow::GetMinIdealImageSize Метод GetMinIdealImageSize извлекает минимальный идеальный размер видеоимока. |
IVideoWindow::GetRestorePosition Метод GetRestorePosition извлекает восстановленную позицию окна. |
IVideoWindow::GetWindowPosition Метод GetWindowPosition извлекает положение окна видео. |
IVideoWindow::HideCursor Метод HideCursor отображает или скрывает курсор, когда указатель мыши расположен над окном видео. |
IVideoWindow::IsCursorHidden Метод IsCursorHidden запрашивает, скрыт ли курсор. |
IVideoWindow::NotifyOwnerMessage Метод NotifyOwnerMessage пересылает сообщение в окно видео. |
IVideoWindow::p ut_AutoShow Метод put_AutoShow указывает, будет ли отрисовщик видео автоматически отображать окно видео при получении видеоданных. |
IVideoWindow::p ut_BackgroundPalette Метод put_BackgroundPalette указывает, реализует ли окно видео свою палитру в фоновом режиме. |
IVideoWindow::p ut_BorderColor Метод put_BorderColor задает цвет, который отображается по краям прямоугольника назначения. |
IVideoWindow::p ut_Caption Метод put_Caption задает подпись окна видео. |
IVideoWindow::p ut_FullScreenMode Метод put_FullScreenMode включает или отключает отрисовку видео в полноэкранном режиме. |
IVideoWindow::p ut_Height Метод put_Height задает высоту окна видео. |
IVideoWindow::p ut_Left Метод put_Left задает координату X окна видео. |
IVideoWindow::p ut_MessageDrain Метод put_MessageDrain указывает окно для получения сообщений с помощью мыши и клавиатуры из окна видео. |
IVideoWindow::p ut_Owner Метод put_Owner задает родительское окно для окна видео. |
IVideoWindow::p ut_Top Метод put_Top задает координату Y окна видео. |
IVideoWindow::p ut_Visible Метод put_Visible отображает или скрывает окно видео. |
IVideoWindow::p ut_Width Метод put_Width задает ширину окна видео. |
IVideoWindow::p ut_WindowState Метод put_WindowState показывает, скрывает, свертывает или разворачивает окно видео. |
IVideoWindow::p ut_WindowStyle Метод put_WindowStyle задает стили окна в окне видео. |
IVideoWindow::p ut_WindowStyleEx Метод put_WindowStyleEx задает расширенные стили окна в окне видео. |
IVideoWindow::SetWindowForeground Метод SetWindowForeground помещает окно видео в верхней части порядка Z. |
IVideoWindow::SetWindowPosition Метод SetWindowPosition задает положение окна видео. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | control.h (включая Dshow.h) |