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

  1. 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.

  2. 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.

  3. 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);
    
  4. Agregue otro método denominado HelloHTML, solo esta vez, agréguelo a la interfaz que termina en "UI". Busque el método auxiliar HelloHTML 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);
    
  5. 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

  1. 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.

  2. 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.

  3. 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.

Consulte también

Compatibilidad con el control DHTML