Identification des éléments du projet de contrôle DHTML

La plupart du code de contrôle DHTML est exactement comme celui créé pour n’importe quel contrôle ATL. Pour une compréhension de base du code générique, parcourez le didacticiel ATL et lisez les sections Création d’un projet ATL et des principes de base des objets COM ATL.

Un contrôle DHTML est similaire à n’importe quel contrôle ATL, sauf :

  • Outre les interfaces régulières qu’un contrôle implémente, il implémente une interface supplémentaire utilisée pour communiquer entre le code C++ et l’interface utilisateur HTML. L’interface utilisateur HTML appelle du code C++ à l’aide de cette interface.

  • Il crée une ressource HTML pour l’interface utilisateur du contrôle.

  • Il permet d’accéder au modèle objet DHTML via la variable m_spBrowsermembre, qui est un pointeur intelligent de type IWebBrowser2. Utilisez ce pointeur pour accéder à n’importe quelle partie du modèle objet DHTML.

Le graphique suivant illustre la relation entre votre DLL, le contrôle DHTML, le navigateur web et la ressource HTML.

Diagram of the elements of a DHTML control project.

Remarque

Les noms de ce graphique sont des espaces réservés. Les noms de votre ressource HTML et les interfaces exposées sur votre contrôle sont basés sur les noms que vous leur affectez dans l’Assistant Contrôle ATL.

Dans ce graphique, les éléments sont les suivants :

  • Ma DLL Créée à l’aide de l’Assistant Projet ATL.

  • Contrôle DHTML (m_spBrowser) Le contrôle DHTML, créé à l’aide de l’Assistant Objet ATL. Ce contrôle accède à l’objet de navigateur Web et à ses méthodes via l’interface de l’objet navigateur Web. IWebBrowser2 Le contrôle lui-même expose les deux interfaces suivantes, en plus des autres interfaces standard requises pour un contrôle.

    • IDHCTL1 Interface exposée par le contrôle à utiliser uniquement par le conteneur.

    • IDHCTLUI1 Interface de répartition pour la communication entre le code C++ et l’interface utilisateur HTML. Le navigateur Web utilise l’interface de répartition du contrôle pour afficher le contrôle. Vous pouvez appeler différentes méthodes de cette interface de répartition à partir de l’interface utilisateur du contrôle en appelant window.external, suivie du nom de la méthode sur cette interface de répartition que vous souhaitez appeler. Vous pouvez accéder à window.external partir d’une balise SCRIPT au sein du code HTML qui compose l’interface utilisateur de ce contrôle. Pour plus d’informations sur l’appel de méthodes externes dans le fichier de ressources, consultez Appel de code C++ à partir de DHTML.

  • IDR_CTL1 L’ID de ressource de la ressource HTML. Son nom de fichier, dans ce cas, est DHCTL1UI.htm. Le contrôle DHTML utilise une ressource HTML qui contient des balises HTML standard et des commandes de répartition de fenêtre externe que vous pouvez modifier à l’aide de l’éditeur de texte.

  • Navigateur web Le navigateur web affiche l’interface utilisateur du contrôle, en fonction du code HTML dans la ressource HTML. Un pointeur vers l’interface du IWebBrowser2 navigateur web est disponible dans le contrôle DHTML pour autoriser l’accès au modèle objet DHTML.

L’Assistant Contrôle ATL génère un contrôle avec du code par défaut dans la ressource HTML et le fichier .cpp. Vous pouvez compiler et exécuter le contrôle comme généré par l’Assistant, puis afficher le contrôle dans le navigateur Web ou le conteneur de test activeX Control. L’image ci-dessous montre le contrôle DHTML ATL par défaut avec trois boutons affichés dans le conteneur de test :

ATL DHTML control.

Consultez Création d’un contrôle DHTML ATL pour commencer à créer un contrôle DHTML. Pour plus d’informations sur l’accès au conteneur de test, consultez Propriétés et événements de test avec Test Container.

Voir aussi

Prise en charge du contrôle DHTML