IVideoWindow 接口 (control.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
接口 IVideoWindow
在视频窗口上设置属性。 应用程序可以使用它来设置窗口所有者、窗口的位置和尺寸以及其他属性。
在大多数情况下,应用程序应查询筛选器关系图管理器以获取此接口,而不是直接调用筛选器,因为上述消息传送问题。 但是,如果筛选图具有多个视频呈现器,则筛选器图形管理器仅与其中一个通信,并任意选择。 因此,如果应用程序使用多个视频窗口,请 IVideoWindow
直接在筛选器上使用 接口。 在这种情况下,必须使用 IVideoWindow::NotifyOwnerMessage 方法将窗口消息转发到每个视频呈现器实例。
若要防止视频窗口在重绘期间闪烁,请重写 WM_ERASEBKGND 消息的默认处理,不要擦除窗口。 (对于 MFC 应用程序,请使用空 handler 替代 CWnd::OnEraseBkgnd 。)
在视频呈现器上设置的属性在连续连接和断开连接之间保留。
由于此接口与自动化兼容,因此所有布尔值都定义为 OAFALSE (0) 和 OATRUE (–1) 。
错误代码: 如果视频呈现器筛选器未连接到另一个筛选器,则所有方法都会VFW_E_NOT_CONNECTED返回错误代码。 对于 Filter Graph Manager 的实现,如果图形不包含视频呈现器筛选器,则所有方法都会返回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 |
标头 | control.h (包括 Dshow.h) |