Crear un Link desde Visual Basic.
Autor Mauro Rondinelli
 

Visual Basic 6 no nos permite de forma "directa" crear un link hacia un sitio web, para esto debemos buscar algún control ActiveX que realice esta operación, pero la verdad que resulta muy pesado cargar todo un control ActiveX para solo realizar un link a una web, es por eso que aquí les explico una forma muy buena para no tener que agregar otro control ActiveX a nuestros proyectos.

Primero y principal creamos nuestro proyecto y en el formulario que deseamos poner el link agregamos el control Label, al cual le modificamos la propiedad AutoSize a TRUE, esto hará que nuestro Label quede automáticamente del tamaño del texto que contiene. También seria bueno ponerle el color de texto (ForeColor) Azul a si se parece mas a un link.

A la propiedad Caption le asignamos el texto que se nos antoje, en mi caso le puse "El Guru Programador" dado que al clikear en el Label se abrirá el navegador en http://www.elguruprogramador.com.ar. Si queremos podemos agregar otro Label como para "adornar" mejor nuestro link, debajo vemos como quedaría...

Si se realizaría click en "El Guru Programador" se abriría el navegador y mostraría la pagina, ahora para que esto suceda antes debemos agregar algo de código.

Antes que nada en la parte superior del Form agregamos una declaración de la función del API de Windows "ShellExecute" que se encargara de abrir nuestro navegador predeterminado.

Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_NORMAL = 1

La constante que figura debajo de todo (SW_NORMAL) va a formar parte de los parámetros de la función declarada anteriormente. Ahora le agregamos el código que realmente realizara la acción de abrir el navegador...

Private Sub Label1_Click()
   Dim X
   X = ShellExecute(Me.hwnd, "Open", "http://www.elguruprogramador.com.ar", &O0, &O0, SW_NORMAL)
End Sub

Este código se ejecutara cuando se haga Click sobre el Label, el único parámetro a modificar es la URL que queres que se habrá al hacer click, lo demás déjalo todo igual.

Como "adorno" podemos hacer que nuestro Label cambie de color al pasar el mouse sobre el para esto bastara con agregar este código...

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Label1.ForeColor = vbBlue
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
   Label1.ForeColor = vbRed
End Sub

En pocas palabras, lo que hace esto es que cuando se pasa el mouse por el Label establece la propiedad ForeColor al color Rojo (vbRed) y cuando el Form detecta que se mueve el mouse sobre el cambia la propiedad ForeColor del Label a Azul (vbBlue), simple!


Otro "Adorno" seria que al pasar el mouse sobre el Label cambie el icono a la tipica manito de los links, para ello tenemos que modificar la propiedad del Label MousePointer a 99 - Custom (Personalizada) y en la propiedad MouseIcon le indicamos que icono deseamos ponerle, por lo general dentro de la carpeta Common del VB hay una carpeta que contiene gráficos y cursores...

Bueno sin mas que explicarles les dejo un saludo y los archivos para descargar desde acá.

 
WWW.ELGURUPROGRAMADOR.COM.AR