Tipp 0013 Horizontale ScrollBar in Listbox
Autor/Einsender:
Datum:
  Detlev Schubert
13.03.2001
Entwicklungsumgebung:   VB 5
Standardmäßig wird in einer Listbox eine vertikale ScrollBar angezeigt, wenn nicht alle Einträge in den sichtbaren Bereich passen. Sind jedoch die Einträge länger, wäre es schon ganz sinnvoll auch eine horizontale ScrollBar anzuzeigen. Dies ist jedoch nicht vorgesehen. Um dies doch zu erwirken, ist ein Griff zur API-Funktion SendMessage notwendig.
Der Funktion wird mit dem ersten Parameter das Fensterhandle (hWnd) der Listbox übergeben, mit dem zweiten Parameter die Konstante LB_SETHORIZONTALEXTENT und mit dem dritten Parameter die Länge der ScrollBar. Der vierte Parameter wird nicht benötigt und kann daher auf Null (0&) gesetzt werden.
Hinweis
Die Angabe der Länge muss in Pixel erfolgen.
 
Option Explicit

#If Win16 Then'16 Bit
   Declare Function SendMessage Lib "user" (ByVal hWnd As _
          Integer, ByVal wMsg As Integer, ByVal wParam As _
          Integer, ByVal lParam As Integer) As Long

#ElseIf Win32 Then'32 Bit
    Declare Function SendMessage Lib "user32" Alias _
          "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As _
          Long, ByVal wParam As Long, ByVal lParam As Long) _
          As Long
#End If

Private Const LB_SETHORIZONTALEXTENT = &H194

Private Sub Command1_Click(Index As Integer)
  Select Case Index
    Case 1
      List1.Clear
      List1.AddItem Text1.Text
      SendMessage List1.hWnd, LB_SETHORIZONTALEXTENT, _
            TextWidth(Text1.Text) / 14.5, 0&
    Case Else
      Unload Me
      End
  End Select
End Sub
 
Weitere Links zum Thema
Längere Einträge als ToolTipText anzeigen
Listbox mit Kontext-Menü
Spalten in einer ListBox

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (2,1 kB) Downloads bisher: [ 1634 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Samstag, 31. Juli 2011