Determining the Number of Visible Items in a List BoxLast reviewed: November 2, 1995Article ID: Q78952 |
The information in this article applies to:
SUMMARYTo determine the number of items that are currently visible in a list box, an application must consider the following cases:
MORE INFORMATIONThe following code segment can be used to determine the number of items visible in a list box:
Sample Code
int ntop, nCount, nRectheight, nVisibleItems;RECT rc; ntop = SendMessage(hwndList, LB_GETTOPINDEX, 0, 0); // Top item index.nCount = SendMessage(hwndList, LB_GETCOUNT, 0, 0); // Number of total items.GetClientRect(hwndList, &rc); // Get list box rectangle.nRectheight = rc.bottom - rc.top; // Compute list box height. nVisibleItems = 0; // Initialize counter.while ((nRectheight > 0) && (ntop < nCount)) // Loop until the bottom of the list box // or the last item has been reached. { SendMessage(hwndList, LB_GETITEMRECT, ntop, (DWORD)(&itemrect)); // Get current line's rectangle. nRectheight = nRectheight - (itemrect.bottom - itemrect.top); // Subtract current line height. nVisibleItems++; // Increase item count. ntop++; // Move to the next line. } |
Additional reference words: 3.00 3.10 3.50 4.00 95
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |