Cómo agregar una barra de desplazamiento horizontal a un ListBox de Visual Basic

Seleccione idioma Seleccione idioma
Id. de artículo: 192184 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

El control ListBox normal suministrada con Visual Basic para Windows no tiene una barra de desplazamiento horizontal. Esto puede ser un problema cuando el elemento en un ListBox que se extiende más allá de los límites del control ListBox. Para agregar una barra de desplazamiento horizontal al control, puede llamar a la función SendMessage de API de Windows con la constante LB_SETHORIZONTALEXTENT.

Más información

Este mensaje, establece el ancho en píxeles que puede desplazarse horizontalmente un control ListBox. Si el ancho del control ListBox es menor que este valor, se agregará una barra de desplazamiento horizontal para permitir el desplazamiento horizontal elementos en el ListBox.

Ejemplo paso a paso

  1. Crear un nuevo proyecto EXE estándar en Visual Basic. Se creará Form1 de manera predeterminada.
  2. Agregue un CommandButton y un control ListBox a Form1.
  3. Pegue el código siguiente en la sección general de la declaración de Form1:
          Option Explicit
    
          Private Declare Function SendMessageByNum Lib "user32" _
            Alias "SendMessageA" (ByVal hwnd As Long, ByVal _
            wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
          Const LB_SETHORIZONTALEXTENT = &H194
    
          Private Sub Command1_Click()
             Dim s As String
             Static x As Long
             s = InputBox("Please enter any text", "List scroll", _
               "this is a simple scrollbar sample for demonstration purposes")
             List1.AddItem s
             If x < TextWidth(s & "  ") Then
                x = TextWidth(s & "  ")
               If ScaleMode = vbTwips Then _
                   x = x / Screen.TwipsPerPixelX  ' if twips change to pixels
               SendMessageByNum List1.hwnd, LB_SETHORIZONTALEXTENT, x, 0
             End If
          End Sub
    
    						
  4. Ejecute el proyecto y haga clic en Command1. Se le pedirá que escriba una cadena de texto para agregarse a ListBox. Cada vez que escriba una cadena, el código comprueba si es mayor que la cadena más larga anterior y ajustará la barra de desplazamiento según sea necesario.

Referencias

Para obtener información sobre realizar esta tarea en las versiones de 16 bits de Visual Basic, consulte en contacto con el siguiente artículo en Microsoft Knowledge Base:
80190: cómo agregar una barra de desplazamiento horizontal a ListBox de Visual Basic

Propiedades

Id. de artículo: 192184 - Última revisión: jueves, 15 de julio de 2004 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 6.0 Edición de aprendizaje
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Palabras clave: 
kbmt kbhowto KB192184 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 192184

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com