Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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.

 

 

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