IVideoWindow 接口 (control.h)

接口 IVideoWindow 设置视频窗口的属性。 应用程序可以使用它设置窗口所有者、窗口的位置和维度和其他属性。

注意现在首选 IVideoWindowIVMRWindowlessControlIVMRWindowlessControl9 接口。 有关详细信息,请参阅 使用无窗口模式
 
视频呈现器筛选器和筛选器图形管理器都公开此接口。 Filter Graph 管理器会将所有方法调用转发到视频呈现器。 它还转发视频呈现器需要接收的某些窗口消息,例如 WM_DISPLAYCHANGE。 由于视频窗口通常是应用程序窗口的子窗口,因此筛选器不会接收这些消息。 因此,它依赖于 Filter Graph 管理器转发它们。

在大多数情况下,应用程序应查询此接口的 Filter Graph 管理器,而不直接调用筛选器,因为刚刚描述的消息传送问题。 但是,如果筛选器图具有多个视频呈现器,则筛选器图形管理器仅与其中一个视频呈现器通信,并任意选择。 因此,如果应用程序使用多个视频窗口, IVideoWindow 请直接在筛选器上使用界面。 在这种情况下,必须使用 IVideoWindow::NotifyOwnerMessage 方法将窗口消息转发到每个视频呈现器实例。

若要防止视频窗口在重绘期间闪烁,请覆盖 WM_ERASEBKGND 消息的默认处理,并且不会擦除窗口。 (对于 MFC 应用程序,请使用空处理程序替代 CWnd::OnEraseBkgnd 。)

视频呈现器上设置的属性在连续连接和断开连接之间保持。

由于此接口与自动化兼容,因此所有布尔值都定义为 OAFALSE (0) 和 OATRUE (–1) 。

错误代码: 如果视频呈现器筛选器未连接到另一个筛选器,则所有方法都会返回错误代码VFW_E_NOT_CONNECTED。 对于 Filter Graph 管理器的实现,如果图形不包含视频呈现器筛选器,则所有方法都返回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)

另请参阅

IDispatch