<...zurück>

ComboBox-Ausklapplänge verändern

Da das ComboBox-Steuerelement keine Eigenschaft besitzt, um die Länge der ausgeklappten Liste zu verändern, muß man zu einem Trick greifen. Die Länge des ausgeklappten ComboBox-Bereiches (und nur die!) läßt sich mit Hilfe der MoveWindow-Funktion aus der CoreDll verändern:

Deklarationsteil:

' API-Deklaration
Declare Function
MoveWindow Lib "Coredll" ( _
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

Beispiel-Sub:

' Sub zum verändern der Listenlänge einer ComboBox
Sub
SetComboHeight(cboCombo As ComboBox, lngNeueHoehe As Long)
    Dim lleft,lWidth,lHeight
    cboCombo.Parent.ScaleX(cboCombo.Left, cboCombo.Parent.ScaleMode, 3)
    lTop = cboCombo.Parent.ScaleY(cboCombo.Top, cboCombo.Parent.ScaleMode, 3)
    lwidth = cboCombo.Parent.ScaleX(cboCombo.Width, cboCombo.Parent.ScaleMode, 3)
    lHeight = cboCombo.Parent.ScaleY(lngNeueHoehe, cboCombo.Parent.ScaleMode, 3)
    MoveWindow cboCombo.hwnd, lleft, lTop, lwidth, lHeight, 1
End Sub

 

<...zurück>