Tooltiptext en ListBox

Hola, ¿conoces algún método para poder presentar en un Tooltiptext de un Listbox la parte del texto de la lista que no es posible presentar por el tamaño del Listbox?
Gracias de antemano por tu valiosa ayuda.
Saludos desde Madrid.

1 Respuesta

Respuesta
1
Te presentaré mi solución con un ejemplo para que lo revises..
En un formulario añadimos un ListBox y declaramos :
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Private Const LB_ITEMFROMPOINT = &H1A9
Añadimos algo de código en el load del formulario para rellenar el ListBox :
Private Sub Form_Load()
With List1
.AddItem "Carmen Martha Castillo Rodríguez"
.AddItem "Rafael Patricio Vega O'Brien"
.AddItem "Franklin Esteban Gallardo Torres"
End With
End Sub
Finalmente, en el evento MouseMove del ListBox ponemos el siguiente código :
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
If Button = 0 Then ' si no hay ningún botón presionado
lXPoint = CLng(X / Screen.TwipsPerPixelX)
lYPoint = CLng(Y / Screen.TwipsPerPixelY)
With List1
' coger el elemento seleccionado de la lista
lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, ByVal ((lYPoint * 65536) + lXPoint))
' mostrar el mensaje o borrar el anterior
If (lIndex >= 0) And (lIndex <= .ListCount) Then
.ToolTipText = .List(lIndex)
Else
.ToolTipText = ""
End If
End With '(List1)
End If '(button=0)
End Sub
Pruébalo y me avisas..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas