Compartilhar via


Interface IVideoWindow (control.h)

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

A IVideoWindow interface define propriedades na janela de vídeo. Os aplicativos podem usá-lo para definir o proprietário da janela, a posição e as dimensões da janela e outras propriedades.

Nota A interface IVMRWindowlessControl ou IVMRWindowlessControl9 agora é preferencial em vez IVideoWindowde . Para obter mais informações, consulte Usando o modo sem janelas.
 
O filtro Renderizador de Vídeo e o Gerenciador de Grafo de Filtro expõem essa interface. O Gerenciador de Grafo de Filtro encaminha todas as chamadas de método para o Renderizador de Vídeo. Ele também encaminha determinadas mensagens de janela que o Renderizador de Vídeo precisa receber, como WM_DISPLAYCHANGE. Como a janela de vídeo geralmente é filho de uma janela de aplicativo, o filtro não receberia essas mensagens de outra forma. Portanto, ele depende do Gerenciador de Grafo de Filtro para encaminhá-los.

Na maioria dos casos, um aplicativo deve consultar o Gerenciador de Grafo de Filtro para essa interface e não chamar o filtro diretamente, devido ao problema de mensagens descrito recentemente. No entanto, se o grafo de filtro tiver mais de um Renderizador de Vídeo, o Gerenciador de Grafo de Filtro se comunicará apenas com um deles, selecionado arbitrariamente. Portanto, se o aplicativo usar várias janelas de vídeo, use a IVideoWindow interface diretamente nos filtros. Nesse caso, você deve encaminhar mensagens de janela para cada instância do Renderizador de Vídeo, usando o método IVideoWindow::NotifyOwnerMessage .

Para impedir que a janela de vídeo cintile durante as repintações, substitua o tratamento padrão da mensagem WM_ERASEBKGND e não apague a janela. (Para aplicativos MFC, substitua CWnd::OnEraseBkgnd por um manipulador vazio.)

As propriedades definidas em um renderizador de vídeo persistem entre conexões sucessivas e desconexões.

Como essa interface é compatível com a Automação, todos os valores boolianos são definidos como OAFALSE (0) e OATRUE (–1).

Códigos de erro: Se o filtro do renderizador de vídeo não estiver conectado a outro filtro, todos os métodos retornarão o código de erro VFW_E_NOT_CONNECTED. Para a implementação do Gerenciador de Grafo de Filtro, se o grafo não contiver um filtro de renderizador de vídeo, todos os métodos retornarão E_NOINTERFACE. Observe que o Gerenciador de Grafo de Filtro expõe a interface mesmo quando o grafo não contém um renderizador de vídeo, para que um aplicativo possa consultar a interface antes de compilar o grafo.

Filtrar Desenvolvedores: Você pode usar a classe CBaseVideoWindow para ajudar a implementar essa interface.

Herança

A interface IVideoWindow herda da interface IDispatch . IVideoWindow também tem estes tipos de membros:

Métodos

A interface IVideoWindow tem esses métodos.

 
IVideoWindow::get_AutoShow

O método get_AutoShow consulta se o renderizador de vídeo mostra automaticamente a janela de vídeo quando recebe dados de vídeo.
IVideoWindow::get_BackgroundPalette

O método get_BackgroundPalette consulta se a janela de vídeo percebe sua paleta em segundo plano..
IVideoWindow::get_BorderColor

O método get_BorderColor recupera a cor que aparece ao redor das bordas do retângulo de destino.
IVideoWindow::get_Caption

O método get_Caption recupera a janela de vídeo legenda.
IVideoWindow::get_FullScreenMode

O método get_FullScreenMode consulta se o renderizador de vídeo está no modo de tela inteira.
IVideoWindow::get_Height

O método get_Height recupera a altura da janela de vídeo.
IVideoWindow::get_Left

O método get_Left recupera a coordenada do eixo x da janela de vídeo.
IVideoWindow::get_MessageDrain

O método get_MessageDrain recupera a janela que recebe mensagens de mouse e teclado da janela de vídeo, se houver.
IVideoWindow::get_Owner

O método get_Owner recupera a janela pai da janela de vídeo, se houver.
IVideoWindow::get_Top

O método get_Top recupera a coordenada y da janela de vídeo.
IVideoWindow::get_Visible

O método get_Visible consulta se a janela de vídeo está visível.
IVideoWindow::get_Width

O método get_Width recupera a largura da janela de vídeo.
IVideoWindow::get_WindowState

O método get_WindowState consulta se a janela de vídeo está visível, oculta, minimizada ou maximizada.
IVideoWindow::get_WindowStyle

O método get_WindowStyle recupera os estilos de janela na janela de vídeo.
IVideoWindow::get_WindowStyleEx

O método get_WindowStyleEx recupera os estilos de janela estendidos na janela de vídeo.
IVideoWindow::GetMaxIdealImageSize

O método GetMaxIdealImageSize recupera o tamanho máximo da imagem ideal para a imagem de vídeo.
IVideoWindow::GetMinIdealImageSize

O método GetMinIdealImageSize recupera o tamanho mínimo ideal para a imagem de vídeo.
IVideoWindow::GetRestorePosition

O método GetRestorePosition recupera a posição da janela restaurada.
IVideoWindow::GetWindowPosition

O método GetWindowPosition recupera a posição da janela de vídeo.
IVideoWindow::HideCursor

O método HideCursor mostra ou oculta o cursor quando o mouse é posicionado sobre a janela de vídeo.
IVideoWindow::IsCursorHidden

O método IsCursorHidden consulta se o cursor está oculto.
IVideoWindow::NotifyOwnerMessage

O método NotifyOwnerMessage encaminha uma mensagem para a janela de vídeo.
IVideoWindow::p ut_AutoShow

O método put_AutoShow especifica se o renderizador de vídeo mostra automaticamente a janela de vídeo quando recebe dados de vídeo.
IVideoWindow::p ut_BackgroundPalette

O método put_BackgroundPalette especifica se a janela de vídeo percebe sua paleta em segundo plano.
IVideoWindow::p ut_BorderColor

O método put_BorderColor define a cor que aparece ao redor das bordas do retângulo de destino.
IVideoWindow::p ut_Caption

O método put_Caption define a janela de vídeo legenda.
IVideoWindow::p ut_FullScreenMode

O método put_FullScreenMode habilita ou desabilita a renderização de vídeo em tela inteira.
IVideoWindow::p ut_Height

O método put_Height define a altura da janela de vídeo.
IVideoWindow::p ut_Left

O método put_Left define a coordenada x da janela de vídeo.
IVideoWindow::p ut_MessageDrain

O método put_MessageDrain especifica uma janela para receber mensagens de mouse e teclado da janela de vídeo.
IVideoWindow::p ut_Owner

O método put_Owner especifica uma janela pai para a janela de vídeo.
IVideoWindow::p ut_Top

O método put_Top especifica a coordenada y da janela de vídeo.
IVideoWindow::p ut_Visible

O método put_Visible mostra ou oculta a janela de vídeo.
IVideoWindow::p ut_Width

O método put_Width especifica a largura da janela de vídeo.
IVideoWindow::p ut_WindowState

O método put_WindowState mostra, oculta, minimiza ou maximiza a janela de vídeo.
IVideoWindow::p ut_WindowStyle

O método put_WindowStyle define os estilos de janela na janela de vídeo.
IVideoWindow::p ut_WindowStyleEx

O método put_WindowStyleEx define os estilos de janela estendidos na janela de vídeo.
IVideoWindow::SetWindowForeground

O método SetWindowForeground coloca a janela de vídeo na parte superior da ordem Z.
IVideoWindow::SetWindowPosition

O método SetWindowPosition define a posição da janela de vídeo.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho control.h (inclua Dshow.h)

Confira também

IDispatch