Escrito por Mauro Rondinelli el Jueves 13 de Marzo de 2003 a las 00:00hs
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 el ejemplo para descargar.
Me ha sido de mucha utilidad, despues de estar 10 minutos por los buscadores ha sido la unica página qu eme ha ayudado.
No dejes de visitar la nuestra de carpfishing www.supercarp.com
hola la verdad me sirvio de a mucho eso de cambiar el color al label no me lo sabia. gracias por tu ayuda
Muy buen ejemplo, pero no se si podrias dar un ejemplo de como crear un link en un texto rtf. gracias
excelente aporte
Hola, necesito abrir una pagina en el servidor, pero las variables las tengo que enviar con el metodo POST, ya que las variables son demasiado grandes para enviarlas por GET, he probado con inet, pero no me abre el navegador.
Espero me puedan ayudar, Gracias.
ahora si se sacaron un 10 con este ejemplo
Como puedo hacer para que el E-Mail aparezca como link
Excelente.
muchisimas gracias andaba buscando algo asi, ya q no tengo mucha idea de vb
saludos
Buen ejemplo, lo probare enseguida, gracias.
Muchísimas gracias por lo bien explicado que está el ejemplo.
Es justo lo que necesitaba y gracias a este ejemplo no he tenido que perder el tiempo buscando en cientos de foros...
Gracias.
deveras muchas graciassss
estube buscando x horas hasta k me
alle tu pag
mil gracias
olleee no te sabes el
codigo pero embezz de k abriera una pag web
abriera un formulario en excel ??
como creo enlaces de visual basic a access
buen tip, yo por mi parte tome el screenshot del icono que aparece en el IE para que el efecto fuese más real, y coloque en el label_mousemove(...) esta linea:
labelx.font.underline=true (colocando en false en form_mousemove) ..
Ahora hay algo que quiero hacer y no he conseguido la formula, quiero crear un módulo para buscar datos en un sistema, pero que sea estilo google, que aparezcan los resultados como links, pero al darle, deberia abrir el modulo donde se encuentra la coincidencia. Se me ocurrio con el FlexGrid, pero me limito a dar formato por celda, si por ejemplo quisiera que ciertas palabras aparecieran en bold o subrayadas no me sirve. Se me ocurrio utilizar el RichTextBox, pero hasta ahora no consigo activar un Link ni siquiera para sitios Web. (trabajo en VB6)
juegos
GRACIAS POR EL EJEMPLO ME AYUDO DE MUCHO =)
the________is my life
Muy bueno, solo me falto ver si se dispara para otros tipos de links.