L_ILM_GETVIEWSIZE

Send this message to get the ImageList Control's view size.

Parameter

Description

wParam

Ignored. Use 0.

lParam

Ignored. Use 0.

Returns

>= 0

The number of rows/columns that are "visible".

< 0

An error occurred. Refer to Return Codes.

Comments

This message returns the size of the ImageList control's viewing area in rows or columns. The size includes partially visible rows/columns.

The value returned depends on the current scroll style . If the scroll style is SCROLLSTYLE_VERTICAL, then the value returned indicates rows. If the scroll style is SCROLLSTYLE_HORIZONTAL, then the value returned indicates columns.

The associated macro is

L_ImgListGetViewSize(hWnd)

For a complete list of available macros, refer to the Ltlst.h file.

See Also

Elements:

L_ILM_GETSCROLLSTYLE, L_ILM_SETSCROLLSTYLE, L_ILM_GETFIRSTVISIBLE

Topics:

Using the ImageList Control

 

Image List Control Messages

Example

L_INT ILM_GETVIEWSIZEExample(HWND hCtrl)
{
   if(IsWindow(hCtrl))
   {
      L_INT32 nSize;
      L_INT32 nFirst;
      L_INT32 nLast;
      L_INT32 nCols;
      L_INT32 nCount;

      //NOTE: assume scroll style = SCROLLSTYLE_VERTICAL
      //get the view size
      nSize = (L_INT32)SendMessage(hCtrl, L_ILM_GETVIEWSIZE, 0, 0);
      //get the first visible item
      nFirst = (L_INT32)SendMessage(hCtrl, L_ILM_GETFIRSTVISIBLE, 0, 0);
      //get the column count
      nCols = (L_INT32)SendMessage(hCtrl, L_ILM_GETCOLCOUNT, 0, 0);
      //calculate the index of last visible item
      nLast = nFirst + (nSize*nCols) - 1;//0 based index
      nCount = (L_INT32)SendMessage(hCtrl, L_ILM_GETITEMCOUNT, 0, 0);
      if(nLast > nCount-1)
         nLast = nCount-1;

      return SUCCESS;
   }
   else
      return ERROR_INVALID_PARAMETER;
}