Skip to main content
Table of Contents

ITMSFNCDataGridExternalScrollBar Interface

Contract for a custom scroll bar control that can replace the built-in grid scroll bars. Implement this interface on a scroll bar component and assign it via the grid's scroll bar properties to use an external control for scrolling.

API unit family: TMSFNCDataGridRenderer

Syntax

GeneratedPascalC++
ITMSFNCDataGridExternalScrollBar = interface
__interface ITMSFNCDataGridExternalScrollBar : public System::IInterface

Remarks

Assign an implementation to the grid's ExternalVerticalScrollBar or ExternalHorizontalScrollBar. From then on the grid drives Min, Max, PageSize, SmallChange, LargeChange, Value and Visible whenever its scroll range changes, and replaces OnChange with its own handler (the previous handler is restored when the scroll bar is unassigned). With cell scrolling the values are expressed in rows or columns, with pixel scrolling in pixels.

Properties

Name Description
LargeChange Amount scrolled per page-up/page-down key or track click.
Max Maximum scroll range. Set by the grid to the total scrollable size; the largest reachable Value is Max - PageSize.
Min Minimum scroll position. Typically 0.
PageSize Size of the visible page relative to the total scroll range. Controls the thumb size of the scroll bar.
SmallChange Amount scrolled per arrow-button click or keyboard arrow key.
Value Current scroll position expressed in the same units as Min and Max.
Visible When True, the scroll bar control is visible. The grid sets this to False when all content fits in the viewport, while stretching is active, during export and in paging mode.

Events

Name Description
OnChange Fires when the scroll position changes. The grid assigns its own handler here to scroll the content, so implementations must call it whenever the user changes Value.

Used by