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
Nov 4, 2000

ListBoxVisibleItems - The number of visible items in a ListBox control

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _
    hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
    lParam As Any) As Long
Private Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, _
    lpRect As RECT) As Long
Const LB_GETITEMHEIGHT = &H1A1

Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

' Return the number of visible items in a ListBox control

Function ListBoxVisibleItems(lb As ListBox) As Long
    Dim lpRect As RECT, itemHeight As Long

    ' Get client rectangle area
    GetClientRect lb.hwnd, lpRect

    ' Get height of each item
    itemHeight = SendMessage(lb.hwnd, LB_GETITEMHEIGHT, 0, ByVal 0&)

    ' Do the division
    ListBoxVisibleItems = (lpRect.Bottom - lpRect.Top) \ itemHeight
End Function
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