Hola con un combo normal es mas fácil ajustar el ancho pero bueno no es el caso, te tiro esta función, que creo que te puede safar, es para agrandar el ancho de la lista, pero tenes que llamarla en los enventos MouseUp y KeyUp
Option Explicit
Private Declare Function MoveWindow Lib "user32.dll" (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 Declare Function GetWindowRect Lib "user32.dll" (ByVal hwnd As Long, ByRef lpRect As RECT) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Function SetDataComboListWidth(ByVal NewWidth As Long)
Dim hwnd As Long
Dim Rec As RECT
hwnd = FindWindow("DataComboListWndClass", vbNullString)
If hwnd <> 0 Then
GetWindowRect hwnd, Rec
If NewWidth < Rec.Right - Rec.Left Then NewWidth = Rec.Right - Rec.Left
MoveWindow hwnd, Rec.Left, Rec.Top, NewWidth, Rec.Bottom - Rec.Top, 1
End If
End Function
Private Sub DataCombo1_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF4 Then
SetDataComboListWidth 500
End If
End Sub
Private Sub DataCombo1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
SetDataComboListWidth 500
End Sub