Sección de controles Ocx para Visual basic , Dll , Activex

85 - Módulo y ocx para crear hipervínculos

<Volver> - Anterior - Siguiente



 

 

Contenido.

 

 

 

 

 


1 - Utilizando un Picturebox

Sencillo módulo que permite mediante un control PictureBox crear enlaces o Hipervínculos.

Para usarlo se debe crea una nueva instancia, por ejemplo:

Set Link = New Class1

 

...luego algunas propiedades:

    With Link1
    
        .Iniciar Picture1, Me
        
        .ColorTextNormal = &HFF00FF
        .ColorTextDown = vbWhite
        .ColorTextUp = vbBlue
        
        .FontName = "verdana"
        
        .Url = "http://www.google.com.ar"
        
        .Texto = " Página de Google "
        
    End With 

 

Donde el método Iniciar se le debe enviar como parámetro un control Picture y también el formulario. La propiedad Url es la que establece el enlace

Nota para ver el código fuente con algunas aclaraciones seguí este enlace: Módulo de clase crear Hipervinculo

y para descargar un ejemplo, el siguiente Zip que contiene un proyecto en Visual basic

Descargar Módulo 

 


2 - Hot Text Box Control

Ocx creado por Michael Pote , que permite crear varios enlaces o hipervínculos en un texto.

Para crearlos, se debe asignar a la propiedad ControlString , el texto , y para definir el o los enlaces se debe encerrar el vinculo entre los caracteres "~" . ( El caracter ~ se agrega con el ALT+126)

Por ejemplo, la siguiente cadena :

HotTextBox1.ControlString = " Enlace de Google : ~www.google.com~"

 

se visualizaría en el control del siguiente modo :

 

Esto otro agrega varios hiperenlaces :

Dim texto As String

texto = " 1 - Enlace de google  ~google.com~" & vbCrLf
texto = texto & "  2 - Enlace de recursos visual basic  ~www.recursosvisualbsic.com.ar~" & vbCrLf
texto = texto & "  3 - Enlace de la web del guille  ~elguille.info~"

HotTextBox1.ControlString = texto 

 

En el control se visualizaria de la siguiente forma :

 

Nota: par añadir saltos de carro, utilizar la constante de visual basic VbCrlf para doble linea, o Chr(10) para una sola. (No usar VbNewLine por que la ignora )

 

Luego, para saber en cual enlace se hizo clic, se debe consultar el evento HotSpotClicK. Este evento tiene un parámetro Index para saber cual se ha pulsado.

Private Sub HotTextBox1_HotSpotClick(Index As Long)
    
    Select Case Index
    
        Case 1: Call AbrirWeb("www.google.com")
        Case 2: Call AbrirWeb("www.recursosvisualbasic.com.ar")
        Case 3: Call AbrirWeb("www.elguille.info")
    
    End Select
End Sub 

 

También este ocx se puede utilizar no solo para enlaces o hipervínculos web, si no para otras opciones o realzar otra operación , como muetra este form :

 

 

Además permite cambiar el fondo del control, el color del texto del hipervinculo al pasar el mouse por encima, la fuente, agregar una imagen en cualquier parte o posición del texto

 

 

La imagen a usar ( que solo puede ser una ), se indica con el caracter " Asterisco " . El caracter se debe ubicar en la posición donde queremos visualizarla, por ejemplo en este caso al principio

HotTextBox1.ControlString = * Texto ~enlace~

 

Nota: Para asignar las propiedades, color de fondo, de la letra etc.. , es preferible realizarlo en tiempo de ejecución y luego de aplicar los cambios siempre ejecutar el método Refresh para aplicar los cambios , por ej :

 

With HotTextBox1
    .BackColor = &HC0FFFF ' Background
    .Font.Size = 11 ' tamaño de fuente
    .Font.Name = "Vedana" ' tipo
    .HotspotColor = &HC000& ' Forecolor
    .HighlightColor = vbBlue ' color del Hot Spot
End With

HotTextBox1.Refresh ' Lo Refresca

 

Descargar solo el ocx

Solo el código fuente

 


Enlaces relacionados

 


Buscar en Recursos vb con Google