Appel de code C++ à partir de DHTML
Un contrôle DHTML peut être hébergé dans un conteneur, tel que le conteneur de test ou Internet Explorer. Pour plus d’informations sur l’accès au conteneur de test, consultez Propriétés et événements de test avec Test Container.
Le conteneur hébergeant le contrôle communique avec le contrôle à l’aide des interfaces de contrôle normales. DHTML utilise l’interface de distribution qui se termine par l’interface utilisateur pour communiquer avec votre code C++ et votre ressource HTML. Lors de la modification du contrôle DHTML ATL, vous pouvez vous entraîner à ajouter les méthodes à appeler par ces différentes interfaces.
Pour voir un exemple d’appel de code C++ à partir de DHTML, créez un contrôle DHTML à l’aide de l’Assistant Contrôle ATL et examinez le code dans le fichier d’en-tête et dans le fichier HTML.
Déclaration des méthodes WebBrowser dans le fichier d’en-tête
Pour appeler des méthodes C++ à partir de l’interface utilisateur DHTML, vous devez ajouter des méthodes à l’interface utilisateur de votre contrôle. Par exemple, le fichier d’en-tête créé par l’Assistant Contrôle ATL contient la méthode OnClick
C++, qui est membre de l’interface utilisateur du contrôle généré par l’Assistant.
Examinez OnClick
le fichier .h du contrôle :
STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)
Le premier paramètre, pdispBody, est un pointeur vers l’interface de répartition de l’objet corps. Le deuxième paramètre, varColor, identifie la couleur à appliquer au contrôle.
Appel du code C++ dans le fichier HTML
Une fois que vous avez déclaré les méthodes WebBrowser dans le fichier d’en-tête, vous pouvez appeler les méthodes du fichier HTML. Notez que dans le fichier HTML, l’Assistant Contrôle ATL insère trois méthodes de distribution Windows : trois OnClick
méthodes qui distribuent les messages pour modifier la couleur d’arrière-plan du contrôle.
Examinez l’une des méthodes du fichier HTML :
<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>
Dans le code HTML ci-dessus, la méthode externe de fenêtre, OnClick
est appelée dans le cadre de la balise de bouton. La méthode a deux paramètres : theBody
, qui fait référence au corps du document HTML et "red"
, qui indique que la couleur d’arrière-plan du contrôle sera modifiée en rouge lorsque le bouton est cliqué. La Red
balise suivante est l’étiquette du bouton.
Pour plus d’informations sur la fourniture de vos propres méthodes, consultez La modification du contrôle DHTML ATL. Pour plus d’informations sur le fichier HTML, consultez Identifier les éléments du projet de contrôle DHTML.