Call SetComboHeight(Combo1, 1450)
'Declarations 'Paste this into the declarations section of a module: Public 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 Public Sub SetComboHeight(oComboBox As ComboBox, _ lNewHeight As Long) Dim oldscalemode As Integer ' This procedure does not work with frames: you ' cannot set the ScaleMode to vbPixels, because ' the frame does not have a ScaleMode Property. ' To get round this, you could set the parent control ' to be the form while you run this procedure. If TypeOf oComboBox.Parent Is Frame Then Exit Sub ' Change the ScaleMode on the parent to Pixels. oldscalemode = oComboBox.Parent.ScaleMode oComboBox.Parent.ScaleMode = vbPixels ' Resize the combo box window. MoveWindow oComboBox.hwnd, oComboBox.Left, _ oComboBox.Top, oComboBox.Width, lNewHeight, 1 ' Replace the old ScaleMode oComboBox.Parent.ScaleMode = oldscalemode End Sub This sub uses the MoveWindow API to set the height of the dropdown area of a combo box. Use this sub what you like: it does not have to be in the combos dropdown event. To use this tip, call the SetComboHeight procuedure with the name of the combo box you wish to edit, and the size in pixels that the dropdown area should be set to. For Example: |