CBaseControlWindow 类
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
CBaseControlWindow 类实现 IVideoWindow 接口,并控制对其关联筛选器的外部访问。 必须通过向 CBaseControlWindow 对象传递指向关键节同步对象的指针,将其与筛选器同步。 CBaseControlWindow 类提供了许多方法,这些方法无需处理此关键部分即可返回属性设置。 例如,调用 CBaseControlWindow::get_AutoShow 来检索 m_bAutoShow 数据成员的值会锁定关键节。 但是,筛选器可能已具有锁定的内部关键部分,这可能会违反筛选器的锁层次结构。 相反,调用 CBaseControlWindow::IsAutoShowEnabled 成员函数返回所需的值,而不会影响关键部分。
所有 CBaseControlWindow 实现的 IVideoWindow 方法都要求筛选器与其上游筛选器正确连接。 出于此原因,类对象需要同步引脚,可通过调用 CBaseControlWindow::SetControlWindowPin 方法设置同步引脚。 每当调用 IVideoWindow 方法时, CBaseControlWindow 对象都会检查引脚是否仍然连接。
受保护的数据成员 | 说明 |
---|---|
m_bAutoShow | 状态更改时的结果。 |
m_bCursorHidden | 确定光标是显示还是隐藏。 |
m_BorderColour | 当前窗口边框的颜色。 |
m_hwndDrain | 接收的消息将发布到的窗口句柄。 |
m_hwndOwner | 拥有窗口。 |
m_pFilter | 指向拥有媒体筛选器的指针。 |
m_pInterfaceLock | 外部定义的关键部分。 |
m_pPin | 控制连接的媒体类型。 |
成员函数 | 说明 |
CBaseControlWindow | 构造 CBaseControlWindow 对象。 |
DoGetWindowStyle | 检索典型或扩展窗口样式。 |
DoSetWindowStyle | 设置典型或扩展窗口样式。 |
GetBorderColour | 检索当前边框颜色。 这是一个帮助程序成员函数。 |
GetOwnerWindow | 检索拥有窗口。 这是一个帮助程序成员函数。 |
IsAutoShowEnabled | 检索有关呈现筛选器暂停或运行时视频窗口是否自动显示的信息。 |
IsCursorHidden | 在不锁定关键节的情况下检索 m_bCursorHidden 数据成员的当前状态。 这是一个帮助程序成员函数。 |
可能yEatMessage | 将消息分发到父窗口。 |
SetControlWindowPin | 通知应用该图钉的对象。 |
IVideoWindow 方法 | 说明 |
get_AutoShow | 检索当前自动显示标志设置。 |
get_BackgroundPalette | 检索背景标志中实现的调色板。 |
get_BorderColor | 检索当前边框颜色。 |
get_Caption | 检索当前窗口描述文字。 |
get_ FullScreenMode | 检索当前全屏模式。 |
get_Height | 检索当前窗口高度。 |
get_Left | 检索当前左窗口坐标。 |
GetMaxIdealImageSize | 检索理想图像的最大大小。 |
get_MessageDrain | 检索当前消息排出。 |
GetMinIdealImageSize | 检索理想图像的最小大小。 |
get_Owner | 检索父窗口句柄。 |
GetRestorePosition | 检索窗口在最大化或最小化时将还原到的位置。 |
get_Top | 检索窗口顶部的 y 坐标。 |
get_Visible | 检索窗口的当前可见性设置。 |
get_Width | 检索窗口的宽度。 |
GetWindowPosition | 检索当前窗口坐标。 |
get_WindowState | 检索窗口的当前状态。 |
get_WindowStyle | 检索标准窗口样式。 |
get_WindowStyleEx | 检索扩展窗口样式。 |
HideCursor | 隐藏或显示光标。 |
IsCursorHidden | 检索 m_bCursorHidden 数据成员的当前状态。 |
NotifyOwnerMessage | 传递发送到拥有窗口的消息。 |
put_AutoShow | 设置 AutoShow 属性。 |
put_BackgroundPalette | 设置一个标志以在背景中实现调色板。 |
put_BorderColor | 设置当前边框颜色。 |
put_Caption | 设置当前窗口描述文字。 |
put_ FullScreenMode | 设置全屏模式。 |
put_Height | 设置当前窗口的高度。 |
put_Left | 设置窗口的左坐标。 |
put_MessageDrain | 设置消息排出窗口。 |
put_Owner | 设置 Microsoft Win32 父窗口句柄。 |
put_Top | 设置窗口顶部的位置。 |
put_Visible | 隐藏或显示窗口。 |
put_Width | 设置窗口的宽度。 |
put_WindowState | 设置窗口的状态。 |
put_WindowStyle | 设置标准窗口样式。 |
put_WindowStyleEx | 设置扩展窗口样式。 |
SetWindowForeground | 在前台设置窗口。 |
SetWindowPosition | 设置窗口位置。 |
另请参阅