Поделиться через


Метод CBaseControlWindow.put_Owner

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Метод put_Owner задает родительское окно окна видео. Затем родительское окно перенаправит определенные сообщения в окно видео.

Синтаксис

HRESULT put_Owner(
   OAHWND Owner
);

Параметры

Владелец

Дескриптор родительского окна.

Возвращаемое значение

Возвращает NOERROR.

Комментарии

Внутренне этот метод вызывает функцию Microsoft Win32 SetParent , чтобы задать нового владельца и задать стиль родительского окна WS_CHILD. Затем родительское окно перенаправит определенные наборы сообщений (в частности, сообщения с помощью мыши и клавиатуры) в окно видео.

После установки владельца окна видео необходимо задать для владельца значение NULL , а стиль окна владельца — WS_OVERLAPPED и WS_CLIPCHILDREN перед освобождением графа фильтра. Если для владельца задано значение NULL, этот метод отключает WS_CHILD бит родительского окна. Если для владельца не задано значение NULL, родительское окно продолжит передавать сообщения в окно видео, и при закрытии приложения, скорее всего, будут возникать ошибки.

Требования

Требование Значение
Заголовок
Ctlutil.h (включая Streams.h)
Библиотека
Strmbase.lib (розничные сборки);
Strmbasd.lib (отладочные сборки)

См. также раздел

Класс CBaseControlWindow