![]() |
Tipp 0520
|
Höhe der DropDown-Liste ändern
|
 |
|
Autor/Einsender: Datum: |
|
Gottfried Mehling 30.10.2006 |
|
Entwicklungsumgebung: |
|
VB 6 |
|
|
Insbesondere bei vielen Einträgen in einer ComboBox kann es störend sein, dass die Höhe der DropDown-Liste einer
ComboBox schreibgeschützt ist.
Normalerweise wäre genug Platz, so dass die DropDown-Liste auch viel länger sein könnte, wie sie von VB vorgegeben wird (standardmäßig werden maximal
8 Elemente in der DropDown-Liste angezeigt). Bei einer längeren DropDown-Liste ist die Auswahl daraus für der User einfacher und übersichtlicher.
|
Dieses Beispiel zeigt, wie mittels der API-Funktion MoveWindow die Höhe der DropDown-Liste (nicht des Bearbeitungsfeldes) beliebig
eingestellt werden kann. Ist die benötigte Höhe zur Darstellung aller Einträge kleiner als die gewünschte Höhe, wird auch nur wie gewohnt
die benötigte Höhe angezeigt.
|
|
|
Option Explicit
Private Declare Function MoveWindow Lib "user32" (ByVal _
hwnd As Long, ByVal x As Long, ByVal y As Long, ByVal _
nWidth As Long, ByVal nHeight As Long, ByVal bRepaint _
As Long) As Long
Private Sub Form_Load()
Dim i As Long
Dim j As Long
For j = 1 To 9
For i = 65 To 90
Me.Combo1.AddItem j & " " & Chr(i)
Me.Combo2.AddItem j & " " & Chr(i)
Next i
Next j
Me.Combo1.ListIndex = 0
Me.Combo2.ListIndex = 0
ComboboxSize Me.Combo2, 5000
End Sub
Private Sub ComboboxSize(ByRef cboCombo As ComboBox, Optional _
ByVal lngHeight As Long = 5000)
With cboCombo
If .Style <> 1 Then
MoveWindow .hwnd, .Left \ Screen.TwipsPerPixelX, _
.Top \ Screen.TwipsPerPixelY, _
.Width \ Screen.TwipsPerPixelX, _
lngHeight \ Screen.TwipsPerPixelY, 1
End If
End With
End Sub
|
|
|
|
|
|
Für die auf einer UserForm verwendeten ComboBox (MSForms-Steuerelement) kann die Anzahl der in der DropDown-Liste anzuzeigenden Elemente
mit der ListRows-Eigenschaft festgelegt werden.
|
|
Windows-Version |
95 |
 |
|
98 |
 |
|
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,7 kB)
|
Downloads bisher: [ 263 ]
|
|
|