CBaseControlWindow.put_Owner 方法

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 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 类