The ComboBox control contains an invisible Edit window, which is used for the edit area. In most cases you don't need to access this inner control directly, but occasionally a direct control of that window can be useful. The first thing to do is get the handle of such inner Edit control, which you do with the following code:
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal _
hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Dim editHWnd As Long
editHWnd = FindWindowEx(Combo1.hWnd, 0&, vbNullString, vbNullString)
Once you have the handle of the control, you can exploit all the usual low-level techniques, using API functions such as SendMessage, SetWindowLong, or subclassing. For example, you can force uppercase characters as follows:
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal _
hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
ByVal lpsz2 As String) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Const GWL_STYLE = (-16)
Const ES_UPPERCASE = &H8&
Dim editHWnd As Long, style As Long
' get the handle of the inner Edit control
editHWnd = FindWindowEx(Combo1.hwnd, 0&, vbNullString, vbNullString)
' get its current Style
style = GetWindowLong(editHWnd, GWL_STYLE)
' set the ES_UPPERCASE bit
SetWindowLong editHWnd, GWL_STYLE, style Or ES_UPPERCASE