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 |