CBaseControlWindow 类

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

cbasecontrolwindow 类层次结构

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 设置窗口位置。

 

另请参阅

DirectShow 基类