Partager via


Interface IVideoWindow (control.h)

[La fonctionnalité associée à cette page, DirectShow, est une fonctionnalité héritée. Il a été remplacé par MediaPlayer, IMFMediaEngine et Audio/Video Capture dans Media Foundation. Ces fonctionnalités ont été optimisées pour Windows 10 et Windows 11. Microsoft recommande vivement au nouveau code d’utiliser MediaPlayer, IMFMediaEngine et La capture audio/vidéo dans Media Foundation au lieu de DirectShow, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

L’interface IVideoWindow définit les propriétés de la fenêtre vidéo. Les applications peuvent l’utiliser pour définir le propriétaire de la fenêtre, la position et les dimensions de la fenêtre, ainsi que d’autres propriétés.

Note L’interface IVMRWindowlessControl ou IVMRWindowlessControl9 est désormais préférée à IVideoWindow. Pour plus d’informations, consultez Utilisation du mode sans fenêtre.
 
Le filtre Video Renderer et le Gestionnaire de graphes de filtre exposent cette interface. Le Gestionnaire de graphes de filtre transfère tous les appels de méthode au convertisseur vidéo. Il transfère également certains messages de fenêtre que le convertisseur vidéo doit recevoir, tels que WM_DISPLAYCHANGE. Étant donné que la fenêtre vidéo est généralement un enfant d’une fenêtre d’application, le filtre ne recevrait pas ces messages. Par conséquent, il s’appuie sur le Gestionnaire de graphe de filtre pour les transférer.

Dans la plupart des cas, une application doit interroger le Gestionnaire de graphes de filtre pour cette interface et ne pas appeler le filtre directement, en raison du problème de messagerie que vous venez de décrire. Toutefois, si le graphe de filtre a plusieurs convertisseurs vidéo, le Gestionnaire de graphiques de filtre ne communique qu’avec l’un d’eux, sélectionné arbitrairement. Par conséquent, si votre application utilise plusieurs fenêtres vidéo, utilisez l’interface IVideoWindow directement sur les filtres. Dans ce cas, vous devez transférer les messages de fenêtre à chaque instance Video Renderer, à l’aide de la méthode IVideoWindow ::NotifyOwnerMessage.

Pour empêcher la fenêtre vidéo de scintiller pendant les repaints, remplacez la gestion par défaut du message WM_ERASEBKGND et n’effacez pas la fenêtre. (Pour les applications MFC, remplacez CWnd ::OnEraseBkgnd par un gestionnaire vide.)

Les propriétés définies sur un convertisseur vidéo persistent entre les connexions successives et les déconnexions.

Étant donné que cette interface est compatible avec Automation, toutes les valeurs booléennes sont définies comme OAFALSE (0) et OATRUE (–1).

Codes d’erreur : Si le filtre du convertisseur vidéo n’est pas connecté à un autre filtre, toutes les méthodes retournent le code d’erreur VFW_E_NOT_CONNECTED. Pour l’implémentation du Gestionnaire de graphes de filtrage, si le graphe ne contient pas de filtre de convertisseur vidéo, toutes les méthodes retournent E_NOINTERFACE. Notez que le Gestionnaire de graphes de filtre expose l’interface même lorsque le graphique ne contient pas de convertisseur vidéo, de sorte qu’une application peut interroger l’interface avant de générer le graphe.

Filtrer les développeurs : Vous pouvez utiliser la classe CBaseVideoWindow pour implémenter cette interface.

Héritage

L’interface IVideoWindow hérite de l’interface IDispatch. IVideoWindow a également les types de membres suivants :

Méthodes

L’interface IVideoWindow possède ces méthodes.

 
IVideoWindow ::get_AutoShow

La méthode get_AutoShow demande si le convertisseur vidéo affiche automatiquement la fenêtre vidéo lorsqu’il reçoit des données vidéo.
IVideoWindow ::get_BackgroundPalette

La méthode get_BackgroundPalette demande si la fenêtre vidéo réalise sa palette en arrière-plan..
IVideoWindow ::get_BorderColor

La méthode get_BorderColor récupère la couleur qui apparaît autour des bords du rectangle de destination.
IVideoWindow ::get_Caption

La méthode get_Caption récupère les légende de fenêtre vidéo.
IVideoWindow ::get_FullScreenMode

La méthode get_FullScreenMode demande si le convertisseur vidéo est en mode plein écran.
IVideoWindow ::get_Height

La méthode get_Height récupère la hauteur de la fenêtre vidéo.
IVideoWindow ::get_Left

La méthode get_Left récupère la coordonnée de l’axe X de la fenêtre vidéo.
IVideoWindow ::get_MessageDrain

La méthode get_MessageDrain récupère la fenêtre qui reçoit les messages de souris et de clavier de la fenêtre vidéo, le cas échéant.
IVideoWindow ::get_Owner

La méthode get_Owner récupère la fenêtre parente de la fenêtre vidéo, le cas échéant.
IVideoWindow ::get_Top

La méthode get_Top récupère la coordonnée y de la fenêtre vidéo.
IVideoWindow ::get_Visible

La méthode get_Visible demande si la fenêtre vidéo est visible.
IVideoWindow ::get_Width

La méthode get_Width récupère la largeur de la fenêtre vidéo.
IVideoWindow ::get_WindowState

La méthode get_WindowState demande si la fenêtre vidéo est visible, masquée, réduite ou agrandie.
IVideoWindow ::get_WindowStyle

La méthode get_WindowStyle récupère les styles de fenêtre dans la fenêtre vidéo.
IVideoWindow ::get_WindowStyleEx

La méthode get_WindowStyleEx récupère les styles de fenêtre étendus sur la fenêtre vidéo.
IVideoWindow ::GetMaxIdealImageSize

La méthode GetMaxIdealImageSize récupère la taille d’image idéale maximale pour l’image vidéo.
IVideoWindow ::GetMinIdealImageSize

La méthode GetMinIdealImageSize récupère la taille idéale minimale pour l’image vidéo.
IVideoWindow ::GetRestorePosition

La méthode GetRestorePosition récupère la position de la fenêtre restaurée.
IVideoWindow ::GetWindowPosition

La méthode GetWindowPosition récupère la position de la fenêtre vidéo.
IVideoWindow ::HideCursor

La méthode HideCursor affiche ou masque le curseur lorsque la souris est positionnée sur la fenêtre vidéo.
IVideoWindow ::IsCursorHidden

La méthode IsCursorHidden interroge si le curseur est masqué.
IVideoWindow ::NotifyOwnerMessage

La méthode NotifyOwnerMessage transfère un message vers la fenêtre vidéo.
IVideoWindow ::p ut_AutoShow

La méthode put_AutoShow spécifie si le convertisseur vidéo affiche automatiquement la fenêtre vidéo lorsqu’il reçoit des données vidéo.
IVideoWindow ::p ut_BackgroundPalette

La méthode put_BackgroundPalette spécifie si la fenêtre vidéo réalise sa palette en arrière-plan.
IVideoWindow ::p ut_BorderColor

La méthode put_BorderColor définit la couleur qui apparaît autour des bords du rectangle de destination.
IVideoWindow ::p ut_Caption

La méthode put_Caption définit la fenêtre vidéo légende.
IVideoWindow ::p ut_FullScreenMode

La méthode put_FullScreenMode active ou désactive le rendu vidéo en plein écran.
IVideoWindow ::p ut_Height

La méthode put_Height définit la hauteur de la fenêtre vidéo.
IVideoWindow ::p ut_Left

La méthode put_Left définit la coordonnée x de la fenêtre vidéo.
IVideoWindow ::p ut_MessageDrain

La méthode put_MessageDrain spécifie une fenêtre pour recevoir des messages de souris et de clavier à partir de la fenêtre vidéo.
IVideoWindow ::p ut_Owner

La méthode put_Owner spécifie une fenêtre parente pour la fenêtre vidéo.
IVideoWindow ::p ut_Top

La méthode put_Top spécifie la coordonnée y de la fenêtre vidéo.
IVideoWindow ::p ut_Visible

La méthode put_Visible affiche ou masque la fenêtre vidéo.
IVideoWindow ::p ut_Width

La méthode put_Width spécifie la largeur de la fenêtre vidéo.
IVideoWindow ::p ut_WindowState

La méthode put_WindowState affiche, masque, réduit ou agrandit la fenêtre vidéo.
IVideoWindow ::p ut_WindowStyle

La méthode put_WindowStyle définit les styles de fenêtre sur la fenêtre vidéo.
IVideoWindow ::p ut_WindowStyleEx

La méthode put_WindowStyleEx définit les styles de fenêtre étendus sur la fenêtre vidéo.
IVideoWindow ::SetWindowForeground

La méthode SetWindowForeground place la fenêtre vidéo en haut de l’ordre Z.
IVideoWindow ::SetWindowPosition

La méthode SetWindowPosition définit la position de la fenêtre vidéo.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête control.h (include Dshow.h)

Voir aussi

IDispatch