Professional User Interface Suite, Copyright FOSS Software Inc. Help Published with Permission.

Also available in Prof-UIS Freeware

class CExtScrollItemWnd : CExtScrollWnd

Remarks

The CExtScrollItemWnd class implements an extended version of the scrollable window for visualizing primarily grid-like data. Such data are displayed in columns and rows each of which may have their own unique width and height, in pixels. The CExtScrollItemWnd class supports four scrolling strategies:

  •    no scrolling
  •    pixel-by-pixel scrolling
  •    item-by-item scrolling
  •    virtual scrolling

Here are some examples of these strategies.

The "no scrolling " strategy is used in the Microsoft Outlook grid for displaying mail messages with respect to the horizontal direction. This grid automatically resizes columns so that no horizontal scrolling is needed.

The horizontal pixel-by-pixel and vertical item-by-item scrolling strategy is used in the standard list-view control with the LVS_REPORT style applied. In Microsoft Excel, the item-by-item scrolling is used in both horizontal and vertical directions.

The virtual scrolling is an extended version of the item-by-item scrolling. The CExtScrollItemWnd class does not know the real number of scrollable items, it only knows whether the first and last items of the data range are visible on the currently displayed page. The virtual scrolling type is sometimes supported in database query tools when displaying SQL query results.

The CExtScrollItemWnd class supports any combinations of these four scrolling strategies in both horizontal and vertical directions. It knows nothing about displayed data. It does not support hit-testing, focusing and selecting cells either. It is just a basic implementation of any grid-like scrollable control with an overridable algorithm for going through all the visible items. This algorithm is modified for painting and hit-testing cells in the classes derived from CExtScrollItemWnd.

Header

ExtScrollWnd.h

Constants

Scrolling strategies which are used in the SiwScrollTypeHGet, SiwScrollTypeVGet, SiwScrollTypeHSet, and SiwScrollTypeVSet methods:

Value Meaning
__ESIW_ST_NONE No scrolling.
__ESIW_ST_PIXEL Pixel-by-pixel scrolling.
__ESIW_ST_ITEM Item-by-item scrolling.
__ESIW_ST_VIRTUAL Virtual scrolling.

Basic scrolling window styles used in the SiwGetStyle() and SiwModifyStyle() methods:

Value Meaning
__ESIS_STH_NONE No scrolling strategy.
__ESIS_STH_PIXEL Pixel-by-pixel scrolling in the horizontal direction.
__ESIS_STH_ITEM Item-by-item scrolling in the horizontal direction.
__ESIS_STH_VIRTUAL Virtual scrolling in horizontal direction.
__ESIS_STV_NONE No scrolling in the vertical direction.
__ESIS_STV_PIXEL Pixel-by-pixel scrolling in the vertical direction.
__ESIS_STV_ITEM Item-by-item scrolling in the vertical direction.
__ESIS_STV_VIRTUAL Virtual scrolling in the vertical direction.
__ESIS_STH_MASK Mask value for all the __ESIS_STH_* styles.
__ESIS_STV_MASK Mask value for all the __ESIS_STV_* styles.
__ESIS_ST_MASK Mask value for all the __ESIS_ST* styles.
__ESIS_DISABLE_THUMBTRACK_H Indicates that the scrollable window content should not be immediately redrawn when the user performs drag-n-dropping of the scroll box button of the horizontal scroll bar.
__ESIS_DISABLE_THUMBTRACK_V Specifies that the scrollable window contents should not be immediately redrawn when the user performs drag-n-dropping of the scroll box button of the vertical scroll bar.
__ESIS_DISABLE_AUTOHIDE_SB_H Specifies whether the horizontal scroll bar should be visible when the width of the scrollable contents is less than or equal to the width of the scrollable area.
__ESIS_DISABLE_AUTOHIDE_SB_V Specifies whether the vertical scroll bar should be visible when the height of the scrollable contents is less than or equal to the height of the scrollable area.

Extended scrolling window styles used in the SiwGetStyleEx and SiwModifyStyleEx() methods:

Value Meaning
__EGWS_EX_PM_COLORS When applied, the Paint Manager's color scheme is used for erasing the window background; the default system colors otherwise.
__ESIS_PREFER_HORZ_WALK When applied, the walking algorithm passes around scrolling window items by columns; otherwise, by rows. The walking algorithm is used for item painting and hit-testing.

See Also

Class Members | Hierarchy Chart