Exporter (0) Imprimer
Développer tout
Développer Réduire

Procédure pas à pas : hébergement d'un contrôle ActiveX dans Windows Presentation Foundation

Mise à jour : novembre 2007

Pour permettre une interaction améliorée avec les navigateurs, vous pouvez utiliser des contrôles Microsoft ActiveX dans votre application basée sur WPF. Cette procédure pas à pas montre comment vous pouvez héberger le Lecteur Windows Media Microsoft en tant que contrôle sur une page WPF.

Cette procédure pas à pas illustre les tâches suivantes :

  • Création du projet.

  • Création du contrôle ActiveX.

  • Hébergement du contrôle ActiveX sur une page Windows Presentation Foundation.

Pour une liste de code complète des tâches affichées dans cette procédure pas à pas, consultez Hébergement d'un contrôle ActiveX dans Windows Presentation Foundation, exemple.

Lorsque vous aurez complété cette procédure pas à pas, vous comprendrez comment utiliser des contrôles Microsoft ActiveX dans votre application basée sur WPF.

Remarque Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Les composants suivants sont nécessaires pour exécuter cette procédure pas à pas :

  • Lecteur Windows Media Microsoft installé sur l'ordinateur où Visual Studio est installé.

  • Visual Studio 2008.

Pour créer et paramétrer le projet

  1. Créez un projet d'application WPF nommé HostingAxInWpf.

  2. Ajoutez un projet de bibliothèque de contrôles Windows Forms au projet d'application, puis nommez le projet WmpAxLib. Pour plus d'informations, consultez Ajouter un nouveau projet, boîte de dialogue.

  3. Dans l'Explorateur de solutions, ajoutez une référence à l'assembly Lecteur Windows Media Microsoft nommé wmp.dll.

  4. Ouvrez la Boîte à outils.

  5. Cliquez avec le bouton droit sur Boîte à outils, puis cliquez sur Choisir les éléments.

  6. Cliquez sur l'onglet Composants COM, sélectionnez le contrôle Lecteur Windows Media, puis cliquez sur OK pour accepter la sélection.

    Le contrôle Lecteur Windows Media Microsoft est ajouté à la Boîte à outils.

  7. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier UserControl1, puis cliquez sur Renommer.

  8. Modifiez le nom en WmpAxControl.cs ou WmpAxControl.vb, selon le langage.

  9. Si vous êtes invités à renommer toutes les références, cliquez sur Oui.

Microsoft Visual Studio génère automatiquement une classe wrapper AxHost pour un contrôle Microsoft ActiveX lorsque le contrôle est ajouté à une aire de conception. La procédure suivante crée un assembly managé nommé AxInterop.WMPLib.dll.

Pour créer le contrôle ActiveX

  1. Dans le Concepteur Windows Forms, ouvrez WmpAxControl.

  2. Depuis la Boîte à outils, ajoutez le contrôle Lecteur Windows Media Microsoft sur l'aire de conception.

  3. Dans la fenêtre Propriétés, définissez la valeur de la propriété Dock du contrôle Lecteur Windows Media Microsoft en Fill.

  4. Appuyez sur F6 pour générer la bibliothèque de contrôles.

Pour héberger le contrôle ActiveX

  1. Dans le projet HostingAxInWpf, ajoutez une référence à l'assembly d'interopérabilité ActiveX généré.

    Cet assembly est nommé AxInterop.WMPLib.dll et a été ajouté au dossier Debug du projet WmpAxLib lorsque vous avez importé le contrôle Lecteur Windows Media Microsoft.

  2. Ajoutez une référence à l'assembly WindowsFormsIntegration, nommé WindowsFormsIntegration.dll.

  3. Ajoutez une référence à l'assembly Windows Forms nommé System.Windows.Forms.dll.

  4. Ouvrez Window1.xaml et remplacez le code généré par le code suivant.

    <Window x:Class="HostingAxInWpf.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="HostingAxInWpf"
    	Loaded="WindowLoaded" 
        >
    	
        <Grid Name="grid1">
    
        </Grid>
    	
    </Window>
    
    
    
  5. Ouvrez Window1.xaml.cs et supprimez les marques de commentaire de la définition de la méthode WindowLoaded.

  6. Insérez le code suivant pour gérer l'événement Loaded.

    Ce code crée une instance du contrôle WindowsFormsHost et ajoute une instance du contrôle AxWindowsMediaPlayer en tant qu'enfant.

    private void WindowLoaded(object sender, RoutedEventArgs e) 
    {
        // Create the interop host control.
        System.Windows.Forms.Integration.WindowsFormsHost host =
            new System.Windows.Forms.Integration.WindowsFormsHost();
    
        // Create the ActiveX control.
        AxWMPLib.AxWindowsMediaPlayer axWmp = new AxWMPLib.AxWindowsMediaPlayer();
    
        // Assign the ActiveX control as the host control's child.
        host.Child = axWmp;
    
        // Add the interop host control to the Grid
        // control's collection of child controls.
        this.grid1.Children.Add(host);
    
        // Play a .wav file with the ActiveX control.
        axWmp.URL = @"C:\WINDOWS\Media\Windows XP Startup.wav";
    }
    
    
    
  7. Appuyez sur F5 pour générer et exécuter l'application.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2015 Microsoft