Autor
|
Tema: Como coloco un ScrollBar a un List? (Leído 1,193 veces)
|
Ch3ck
Desconectado
Mensajes: 337
Elite
|
Pues, asi como dice la pregunta, por ejemplo cuando añado items a un list, pues si añado muchos aparece una barra para poder seguir observando hacia abajo o arriba, pero cuando agrego uno que es largo y sobrepasa el ancho del list pues no se ve completo y ademas no aparece una barra hacia lo ancho, como puedo solucionar ese problema? Gracias por responder.
|
|
|
En línea
|
|
|
|
Sancho.Mazorka
Desconectado
Mensajes: 480
Gamer & Programador
|
Ingeniatela para adaptarlo a un List Option Explicit 'Funciones para el manejo de las barras de desplazamiento 'en controloes que no dispones de la propiedad "ScrollBars" ' 'sBarFunciones.bas 2 de Mayo de 1.998 VB5 'Por Jose Montaner 'Satelite' casa2001@apdo.com
' Constantes de barra de desplazamiento Public Enum eBar Horizontal = 0 Vertical = 1 Automatico = 2 Ambas = 3 End Enum
Private Declare Function EnableScrollBar Lib "user32" _ (ByVal hwnd As Long, ByVal wSBflags As Long, ByVal wArrows As Long) As Long Private Declare Function ShowScrollBar Lib "user32" _ (ByVal hwnd As Long, ByVal wBar As Long, ByVal bShow As Long) As Long
Public Sub sBarVisible(ByVal cntrl As Variant, ByVal barras As eBar, ByVal visible As Boolean) 'Muestra/Oculta barras de desplazamiento
'cntrl: Control que deseamos atacar 'barras: Indica que barras queremos mostrar/ocultar 'Visiable: True/False Dim ret As Long
ret = ShowScrollBar(cntrl.hwnd, barras, visible) End Sub Public Sub sBarEnabled(ByVal cntrl As Variant, ByVal barras As eBar, ByVal enabled As Boolean) 'Habilita/Deshabilita
'cntrl: Control que deseamos atacar 'barras: Indica que barras queremos habilitar/deshabilitar 'Enabled: True/False Dim ret As Long
ret = EnableScrollBar(cntrl.hwnd, barras, IIf(enabled, 0, &H3)) End Sub
|
|
|
En línea
|
|
|
|
~~
|
O mas simple: 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 Sub Form_Load() Dim x As Integer x = SendMessage(List1.hwnd, &H194, 200, ByVal 0&) End Sub Con eso le adaptas la barra horizontal, la vertical ya se pone sola
|
|
|
En línea
|
|
|
|
|
|