Modificación del control DHTML ATL
El Asistente para controles ATL proporciona código de inicio para que pueda compilar y ejecutar el control, por lo que puede ver cómo se escriben los métodos en los archivos del proyecto y cómo llama el DHTML al código de C++ del control mediante los métodos de distribución. Puede agregar cualquier método de distribución a la interfaz. A continuación, puede llamar a los métodos en el recurso HTML.
Para modificar el control DHTML ATL
En la Vista de clases, expanda el proyecto de control.
Tenga en cuenta que la interfaz que termina en "UI" tiene un método,
OnClick
. La interfaz que no termina en "UI" no tiene ningún método.Agregue un método llamado
MethodInvoked
a la interfaz que no termina en "UI".Este método se agregará a la interfaz que se usa en el contenedor de control para la interacción del contenedor, no a la interfaz usada por DHTML para interactuar con el control. Solo el contenedor puede invocar este método.
Busque el método auxiliar en el archivo .cpp y agregue código para mostrar un cuadro de mensaje, por ejemplo:
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
Agregue otro método denominado
HelloHTML
, solo esta vez, agréguelo a la interfaz que termina en "UI". Busque el método auxiliarHelloHTML
en el archivo .cpp y agregue código para mostrar un cuadro de mensaje, por ejemplo:::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
Agregue un tercer método,
GoToURL
, a la interfaz que no termina en "UI". Implemente este método llamando a IWebBrowser2::Navigate, como se indica a continuación:m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
Puede usar los métodos
IWebBrowser2
porque ATL proporciona un puntero a esa interfaz para usted en el archivo .h.
A continuación, modifique el recurso HTML para invocar los métodos que ha creado. Agregará tres botones para invocar estos métodos.
Para modificar el recurso HTML
En Explorador de soluciones, haga doble clic en el archivo .htm para mostrar el recurso HTML.
Examine el código HTML, especialmente las llamadas a los métodos de envío externos de Windows. El código HTML llama al método
OnClick
del proyecto y los parámetros indican el cuerpo del control (theBody
) y el color que se va a asignar ("red
"). El texto que sigue a la llamada al método es la etiqueta que aparece en el botón.Agregue otro método
OnClick
y cambie solo el color. Por ejemplo:<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
Este método creará un botón, con la etiqueta Actualizar, que el usuario puede hacer clic para devolver el control al fondo blanco original.
Agregue la llamada al método
HelloHTML
que ha creado. Por ejemplo:<br> <br> <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
Este método creará un botón, con la etiqueta HelloHTML, en el que el usuario puede hacer clic para mostrar el cuadro de mensaje
HelloHTML
.
Ahora puede compilar y probar el control DHTML modificado.