Share via


CBaseControlWindow Class (Compact 2013)

3/26/2014

CBaseWindow Class

     CBaseControlWindow Class

NOT SUPPORTED IN DXPAK 1.0

This class implements the IVideoWindow interface and controls external access to its associated filter.

You must synchronize the CBaseControlWindow object with the filter by passing it a pointer to a critical section synchronization object. For more information about critical section synchronization objects, see the Windows SDK.

The CBaseControlWindow class provides a number of methods that return property settings without dealing with this critical section. For example, calling CBaseControlWindow::get_AutoShow to retrieve the value of the m_bAutoShow data member locks the critical section.

The filter might already have a locked internal critical section, however, which could violate the filter's lock hierarchy. Instead, calling the CBaseControlWindow::IsAutoShowEnabled member function returns the required value without affecting the critical section.

All CBaseControlWindow implemented IVideoWindow methods require that the filter be connected correctly with its upstream filter. For this reason, class objects require a synchronization pin, which you set by calling the CBaseControlWindow::SetControlWindowPin method.

Whenever you call an IVideoWindow method, the CBaseControlWindow object checks that the pin is still connected.

Protected Data Members

Member

Description

m_bAutoShow

Result when the state changes.

m_bCursorHidden

Determination of whether the cursor is displayed or hidden.

m_BorderColour

Color of the current window border.

m_hwndDrain

Window handle to which messages received are posted.

m_hwndOwner

Owning window.

m_pFilter

Pointer to the owning media filter.

m_pInterfaceLock

Externally defined critical section.

m_pPin

Control of the media types for connection.

Member Functions

Member function

Description

CBaseControlWindow

Constructs a CBaseControlWindow object.

DoGetWindowStyle

Retrieves either the typical or extended window styles.

DoSetWindowStyle

Sets the typical or extended window styles.

GetBorderColour

Retrieves the current border color.

This is a helper member function.

GetOwnerWindow

Retrieves the owning window.

This is a helper member function.

IsAutoShowEnabled

Retrieves information about whether the video window appears when the rendering filter pauses or runs.

IsCursorHidden

Retrieves the current state of the m_bCursorHidden data member without locking the critical section.

This is a helper member function.

PossiblyEatMessage

Distributes messages to the parent window.

SetControlWindowPin

Notifies the object of the pin to which it applies.

Implemented IVideoWindow Methods

Method

Description

get_AutoShow

Retrieves the current AutoShow flag setting.

get_BackgroundPalette

Retrieves the realized palette in the background flag.

get_BorderColor

Retrieves the current border color.

get_Caption

Retrieves the current window caption.

get_FullScreenMode

Retrieves the current full-screen mode.

get_Height

Retrieves the current window height.

get_Left

Retrieves the current left window coordinate.

GetMaxIdealImageSize

Retrieves the maximum size of the ideal image.

get_MessageDrain

Retrieves the current message drain.

GetMinIdealImageSize

Retrieves the minimum size of the ideal image.

get_Owner

Retrieves the Win32 parent window handle.

GetRestorePosition

Retrieves the position to which the window will be restored when maximized or minimized.

get_Top

Retrieves the y-coordinate for the top of the window.

get_Visible

Retrieves the current visibility setting of the window.

get_Width

Retrieves the width of the window.

GetWindowPosition

Retrieves the current window coordinates.

get_WindowState

Retrieves the current state of the window.

get_WindowStyle

Retrieves the standard window styles.

get_WindowStyleEx

Retrieves the extended window styles.

HideCursor

Hides or displays the cursor.

IsCursorHidden

Retrieves the current state of the m_bCursorHidden data member.

NotifyOwnerMessage

Passes on messages that are sent to owning windows.

put_AutoShow

Sets the AutoShow property.

put_BackgroundPalette

Sets a flag to realize the palette in the background.

put_BorderColor

Sets the current border color.

put_Caption

Sets the current window caption.

put_FullScreenMode

Sets the full-screen mode.

put_Height

Sets the current window height.

put_Left

Sets the left coordinate for the window.

put_MessageDrain

Sets the message drain window.

put_Owner

Sets the Win32 parent window handle.

put_Top

Sets the position for the top of the window.

put_Visible

Hides or shows the window.

put_Width

Sets the width of the window.

put_WindowState

Sets the state of the window.

put_WindowStyle

Sets the standard window styles.

put_WindowStyleEx

Sets the extended window styles.

SetWindowForeground

Sets the window in the foreground.

SetWindowPosition

Sets the window position.

Requirements

Header

dshow.h,
Streams.h

Library

ole32.lib,
Ole32auth.lib,
Strmbase.lib,
Strmiids.lib,
uuid.lib

See Also

Reference

DirectShow Classes