Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Dec 16, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

ComboBoxSetHeight - Set a new height for the list portion of a ComboBox control

Private Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type
Private Declare Function GetWindowRect Lib "user32" (ByVal hWnd As Long, _
    lpRect As RECT) As Long
Private Declare Function ScreenToClientAny Lib "user32" Alias "ScreenToClient" _
    (ByVal hWnd As Long, lpPoint As Any) As Long
Private 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

' Set a new height for the list area of a ComboBox control
' NEWHEIGHT is measured in pixels

Sub ComboBoxSetHeight(CB As ComboBox, ByVal newHeight As Long)
    Dim lpRect As RECT
    Dim wi As Long
    ' get combobox rectangle, relative to screen
    GetWindowRect CB.hWnd, lpRect
    wi = lpRect.Right - lpRect.Left
    ' convert to form's client coordinates
    ScreenToClientAny CB.Parent.hWnd, lpRect
    ' enforce the new height
    MoveWindow CB.hWnd, lpRect.Left, lpRect.Top, wi, newHeight, True

End Sub
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date