Llamada al código C++ desde DHTML
Un control DHTML se puede hospedar en un contenedor, como Contenedor de pruebas o Internet Explorer. Consulte Probar propiedades y eventos con un contenedor de prueba para obtener información sobre cómo acceder a un Contenedor de prueba.
El contenedor que hospeda el control se comunica con el control mediante las interfaces de control normales. DHTML usa la interfaz de distribución que termina con "UI" para comunicarse con el código de C++ y el recurso HTML. En Modificar el control DHTML ATL, puede practicar la adición de los métodos a los que llamarán estas interfaces diferentes.
Para ver un ejemplo de llamada a código de C++ desde DHTML, cree un control DHTML mediante el Asistente para controles ATL y examine el código en el archivo de encabezado y en el archivo HTML.
Declaración de métodos WebBrowser en el archivo de encabezado
Para invocar métodos de C++ desde la interfaz de usuario DHTML, debe agregar métodos a la interfaz de usuario del control. Por ejemplo, el archivo de encabezado creado por el Asistente para controles ATL contiene el método OnClick
de C++ , que es miembro de la interfaz de usuario del control generado por el asistente.
Examine OnClick
en el archivo .h del control:
STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)
El primer parámetro, pdispBody, es un puntero a la interfaz de distribución del objeto body. El segundo parámetro, varColor, identifica el color que se va a aplicar al control.
Llamar a código de C++ en el archivo HTML
Una vez que haya declarado los métodos WebBrowser en el archivo de encabezado, puede invocar los métodos desde el archivo HTML. Observe en el archivo HTML que el Asistente para controles ATL inserta tres métodos de distribución de Windows: tres métodos OnClick
que envían mensajes para cambiar el color de fondo del control.
Examine uno de los métodos del archivo HTML:
<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>
En el código HTML anterior, el método externo de ventana, OnClick
, se llama como parte de la etiqueta de botón. El método tiene dos parámetros: theBody
, que hace referencia al cuerpo del documento HTML y "red"
, que indica que el color de fondo del control se cambiará a rojo cuando se haga clic en el botón. El objeto Red
después de la etiqueta es la etiqueta del botón.
Consulte Modificación del control DHTML ATL para obtener más información sobre cómo proporcionar sus propios métodos. Consulte Identificar los elementos del proyecto de control DHTML para obtener más información sobre el archivo HTML.