The ComboBox control doesn’t expose any property that lets you to control the width of its list area, but this can be easily accomplished by sending it the CB_SETDROPPEDWIDTH message, and passing the new length in pixel in wParam:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _ hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _ lParam As Any) As LongConst CB_SETDROPPEDWIDTH = &H160' Set the width of the list area of a ComboBox (in pixels)Sub SetComboDropDownWidth(ComboBox As ComboBox, ByVal lWidth As Long) SendMessage ComboBox.hWnd, CB_SETDROPPEDWIDTH, lWidth, ByVal 0&End Sub
For example, you can use the above reusable routine to set a ComboBox’s drop down list width to 200 pixels using the following line of code:
SetComboDropDownWidth Combo1, 200