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

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
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
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
kbDSupport kbDSD kbVBp kbVBp400 kbVBp500 kbVBp600 kbCtrl kbAPI

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 192184 - Última revisión: 12/05/2015 09:13:28 - Revisión: 3.2

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

  • kbnosurvey kbarchive kbmt kbhowto KB192184 KbMtes
Comentarios