En este post vamos a ver como podemos crear ¡nuestro propio navegador web!.
Aunque en un principio parece una tarea muy complicada, veremos que es realmente sencilla gracias a que usaremos los objetos que nos proporciona Microsoft.
Empezamos
Lo primero que debemos hacer, como casi siempre, es crear un proyecto Estándar Exe, A continuación tienes que añadir el control que vamos usar. Para hacerlo existen tres formas:
Una vez hayamos realizado esto, aparecerá una ventana de diálogo con tres etiquetas, pero la que nos interesa la que está seleccionada por defecto: Controls. En esta etiqueta, puedes ver una lista con todos los posibles controles que puedes usar en tu proyecto. Marca "Microsoft Internet Controls" y pulsa sobre el botón Aceptar.
Cuadro de diálogo para añadir nuevos controles
Aparecerá un nuevo control en la barra de herramientas como el que puedes ver en la imagen.
Nuevo icono en la
Barra de Herramientas
La interfaz de usuario
Aunque tener una interfaz amigable y llamativa es primordial en los programas de hoy en día, sólo voy a crear algo extremadamente simple para concentrarnos en cómo debe funcionar. Por he incluido 2 botones para la navegación hacia atrás (cmdRetrocede) y hacia delante (cmdAvanza), una etiqueta (lblDireccion), una caja de texto (txtUrl), una línea y el nuevo control, WebBrowser (MiWebBrowser), que es el nuevo control que había añadido al proyecto
El resultado final es este :
Distribución de los controles
Ya sé que es muy feo pero verás lo bien que funciona. Además, eres libre de hacerlo lo bonito que quieras por tu cuenta.
Programando nuestro navegador
Muchas veces no dispondremos de la ayuda para programar un control ActiveX, pero existe una forma de saber las constantes, propiedades, métodos y eventos de los que dispone un control. Para ello es útil el "Object Browser". Para abrirlo puedes:
Pulsar F2 o
Usando el menú: View > Object Browser
En la imagen lo puedes verlo después haber seleccionado la librería SHDocVwCtl (la que hemos incluido con Microsoft Internet Controls), y particularizado en la clase WebBrowser y la función Navigate que es la que usaremos en breve.
Object Browser
En el panel inferior del Object Browser puedes ver el nombre de la función junto con los parámetros que admite, anidando entre corchetes los opcionales.
Recuerda, el "Object Browser" es tu amigo, ¡úsalo!.
Primero vamos a ver cómo mostrar una página web después de introducirla en el recuadro de texto y pulsar ENTER ( o INTRO o RETURN o como quiera que llames a la tecla de retorno de carro)
Lo que vamos a hacer es comprobar cual es la tecla que se ha pulsado en el recuadro de texto y si tiene el valor ASCII de ENTER ( 13 ), indicarle al navegador que visite la dirección indicada.
NOTA: ASCII es el acrónimo de American Estándar Code for Information Interchange. Es un código que sirve para representar caracteres como números. A cada letra se le asigna un número único. Por ejemplo a la M se le ha asignado el número 77.
El código es el siguiente:
Esto ya lo podrías probar y verías como funciona, aunque tienes que estar conectado a la red, y si no tienes tarifa plana, mejor que lo dejes para cuando hayamos terminado de programar los dos botones que nos faltan y puedas probarlo todo de una vez.
Estos son todavía más fáciles de programar:
Ya está todo, tienes tu propio navegador web y con sólo 7 líneas de código. ¿No es Visual Basic una maravilla?
Ampliaciones y Aplicaciones[/size
]¿Quieres mejorar tu navegador?
Por favor, ¡cambia la interfaz gráfica!
Creo que no he creado algo más antiestético en mi vida. Seguro que tu puedes darle un nuevo look.
Añade nuevas funciones.
Sólo hemos visto 3 funciones de las 17 que dispone el objeto WebBrowser y eso que no he tenido en cuenta los eventos y propiedades que son muchos más. Utiliza el Object Browser para investigar y después intenta usarlas de alguna manera.
Pero, ¿para qué sirve todo esto si ya tenemos Internet Explorer?
Existen multitud de usos que puedes conseguir usando este control. Algunas ideas que se me ocurren son:
Personaliza tu navegador
Muy útil para cibercafés y terminales de punto de venta.
Simplificar la interfaz de IE.
Podría ser útil para crear un navegador especial para niños.
Evitar que se visten páginas prohibidas
Puedes censurar aquellos webs que no tengan el contenido adecuado.
Esto son sólo algunas ideas de lo que se puede hacer pero seguro que a ti se te ocurren muchas más. Para darte una idea del potencial que tiene usar este control, te comento que Microsoft ha usado el motor de Internet Explorer para crear aplicaciones como Microsoft Money 2000. ¿Qué no puedes hacer tu?
fuente: http://www.ciberteca.net/visualbasic/articulos/tunavegador/default.asp
Aunque en un principio parece una tarea muy complicada, veremos que es realmente sencilla gracias a que usaremos los objetos que nos proporciona Microsoft.
Empezamos
Lo primero que debemos hacer, como casi siempre, es crear un proyecto Estándar Exe, A continuación tienes que añadir el control que vamos usar. Para hacerlo existen tres formas:
- CTRL+T
- Con el menú: Project > Components
- Pulsando con el botón derecho del ratón en la barra de herramientas y seleccionando la primera opción del menú emergente: Components...
Una vez hayamos realizado esto, aparecerá una ventana de diálogo con tres etiquetas, pero la que nos interesa la que está seleccionada por defecto: Controls. En esta etiqueta, puedes ver una lista con todos los posibles controles que puedes usar en tu proyecto. Marca "Microsoft Internet Controls" y pulsa sobre el botón Aceptar.
Cuadro de diálogo para añadir nuevos controles
Aparecerá un nuevo control en la barra de herramientas como el que puedes ver en la imagen.
Nuevo icono en la
Barra de Herramientas
La interfaz de usuario
Aunque tener una interfaz amigable y llamativa es primordial en los programas de hoy en día, sólo voy a crear algo extremadamente simple para concentrarnos en cómo debe funcionar. Por he incluido 2 botones para la navegación hacia atrás (cmdRetrocede) y hacia delante (cmdAvanza), una etiqueta (lblDireccion), una caja de texto (txtUrl), una línea y el nuevo control, WebBrowser (MiWebBrowser), que es el nuevo control que había añadido al proyecto
El resultado final es este :
Distribución de los controles
Ya sé que es muy feo pero verás lo bien que funciona. Además, eres libre de hacerlo lo bonito que quieras por tu cuenta.
Programando nuestro navegador
Muchas veces no dispondremos de la ayuda para programar un control ActiveX, pero existe una forma de saber las constantes, propiedades, métodos y eventos de los que dispone un control. Para ello es útil el "Object Browser". Para abrirlo puedes:
Pulsar F2 o
Usando el menú: View > Object Browser
En la imagen lo puedes verlo después haber seleccionado la librería SHDocVwCtl (la que hemos incluido con Microsoft Internet Controls), y particularizado en la clase WebBrowser y la función Navigate que es la que usaremos en breve.
Object Browser
En el panel inferior del Object Browser puedes ver el nombre de la función junto con los parámetros que admite, anidando entre corchetes los opcionales.
Recuerda, el "Object Browser" es tu amigo, ¡úsalo!.
Primero vamos a ver cómo mostrar una página web después de introducirla en el recuadro de texto y pulsar ENTER ( o INTRO o RETURN o como quiera que llames a la tecla de retorno de carro)
Lo que vamos a hacer es comprobar cual es la tecla que se ha pulsado en el recuadro de texto y si tiene el valor ASCII de ENTER ( 13 ), indicarle al navegador que visite la dirección indicada.
NOTA: ASCII es el acrónimo de American Estándar Code for Information Interchange. Es un código que sirve para representar caracteres como números. A cada letra se le asigna un número único. Por ejemplo a la M se le ha asignado el número 77.
El código es el siguiente:
Código [Seleccionar]
Private Sub txtURL_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MiWebBrowser.Navigate txtURL.Text
End If
End Sub
Esto ya lo podrías probar y verías como funciona, aunque tienes que estar conectado a la red, y si no tienes tarifa plana, mejor que lo dejes para cuando hayamos terminado de programar los dos botones que nos faltan y puedas probarlo todo de una vez.
Estos son todavía más fáciles de programar:
Código [Seleccionar]
Private Sub cmdAvanza_Click()
On Error Resume Next
MiWebBrowser.GoForward
End Sub
Private Sub cmdRetrocede_Click()
On Error Resume Next
MiWebBrowser.GoBack
End Sub
Ya está todo, tienes tu propio navegador web y con sólo 7 líneas de código. ¿No es Visual Basic una maravilla?
Ampliaciones y Aplicaciones[/size
]¿Quieres mejorar tu navegador?
Por favor, ¡cambia la interfaz gráfica!
Creo que no he creado algo más antiestético en mi vida. Seguro que tu puedes darle un nuevo look.
Añade nuevas funciones.
Sólo hemos visto 3 funciones de las 17 que dispone el objeto WebBrowser y eso que no he tenido en cuenta los eventos y propiedades que son muchos más. Utiliza el Object Browser para investigar y después intenta usarlas de alguna manera.
Pero, ¿para qué sirve todo esto si ya tenemos Internet Explorer?
Existen multitud de usos que puedes conseguir usando este control. Algunas ideas que se me ocurren son:
Personaliza tu navegador
Muy útil para cibercafés y terminales de punto de venta.
Simplificar la interfaz de IE.
Podría ser útil para crear un navegador especial para niños.
Evitar que se visten páginas prohibidas
Puedes censurar aquellos webs que no tengan el contenido adecuado.
Esto son sólo algunas ideas de lo que se puede hacer pero seguro que a ti se te ocurren muchas más. Para darte una idea del potencial que tiene usar este control, te comento que Microsoft ha usado el motor de Internet Explorer para crear aplicaciones como Microsoft Money 2000. ¿Qué no puedes hacer tu?
fuente: http://www.ciberteca.net/visualbasic/articulos/tunavegador/default.asp