|
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
|
|
|
|
|
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: [ 1735 ]
|
|
|