[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Forms' (#lcl)

# TScrollingWinControl

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements a windowed control with scroll bars.

## Declaration

Source position: forms.pp line 168

`type TScrollingWinControl = class(TCustomControl)`
`protected`
`class procedure WSRegisterClass; override;` |  | Registers this component class with the current WidgetSet.
`procedure AlignControls(); override;` |  | Aligns the controls which have the class instance as their Parent.
`function AutoScrollEnabled; virtual;` |  | Indicates if automatic scrolling is enabled for the control.
`procedure CalculateAutoRanges; virtual;` |  | Sets or resets the ranges used for scroll bars on the control.
`procedure CreateWnd; override;` |  | Creates the window handle for the control.
`procedure DestroyWnd; override;` |  | Frees or invalidates resources in the class instance when the window Handle is freed.
`function GetClientScrollOffset; override;` |  | The origin for the physical client area.
`function GetLogicalClientRect; override;` |  | Returns the logical size of the client area on the control.
`procedure DoOnResize; override;` |  | Performs actions needed when the control has been resized.
`procedure GetPreferredSizeClientFrame(); override;` |  | Calculates the size of the client area for the control excluding visible scroll bars.
`procedure WMSize(); message;` |  | Performs actions needed to handle WMSize messages.
`procedure WMHScroll(); message;` |  | Delegates scroll messages to the handler for the horizontal scroll bar.
`procedure WMVScroll(); message;` |  | Delegates scroll messages to the handler for the vertical scroll bar.
`procedure ComputeScrollbars; virtual;` |  | Updates Page, AutoRange, IsScrollBarVisible, and returns True when changed.
`procedure SetAutoScroll(); virtual;` |  | Sets the value for the AutoScroll property.
`procedure Loaded; override;` |  | Performs actions when the component has been loaded from the LCL streaming mechanism.
`procedure Resizing(); virtual;` |  | Performs actions needed when the control processes the WMSize message.
`property AutoScroll: Boolean; [rw]` |  | Indicates whether scroll bars are automatically displayed or hidden when needed.
`procedure SetAutoSize(); override;` |  | Sets the value for the AutoSize property.
`public`
`constructor Create(); override;` |  | Constructor for the class instance.
`destructor Destroy; override;` |  | Destructor for the class instance.
`function ScreenToClient(); override;` |  | Converts the specified screen coordinates to client-relative coordinates.
`function ClientToScreen(); override;` |  | Converts the specified client coordinates to absolute screen coordinates.
`procedure UpdateScrollbars;` |  | Initializes or updates the scroll bars for the control.
`class function GetControlClassDefaultSize; override;` |  | Returns the default dimensions for new instances of the class.
`procedure ScrollBy(); override;` |  | Tells the widget to scroll the client area by the specified relative values.
`procedure ScrollInView();` |  | Aligns the specified control to its parent and scrolls it into view.
`published`
`property HorzScrollBar: TControlScrollBar; [rw]` |  | The horizontal scroll bar for the control.
`property VertScrollBar: TControlScrollBar; [rw]` |  | The vertical scroll bar for the control.
`end;`

## Inheritance

`TScrollingWinControl` |  | Implements a windowed control with scroll bars.
`TCustomControl` |  | The base class for windowed controls which paint themselves.
`TWinControl` |  | Implements a windowed control which can contain other child controls.
`TControl` |  | The base class for visible controls.
`TLCLComponent` |  | The base class for LCL components which have an associated widget.
`TComponent`
?
`TObject`

## Description

This class introduces a logical (virtual) client area, part of which is visible in the physical (visible) client area. ScrollBars allow the user to scroll through the logical client area.

TScrollingWinControl is the ancestor for components like TScrollBox and TCustomDesignControl, and indirectly for TCustomFrame and TCustomForm.

## See also

TControlScrollBar |  | Scroll bar type used in TScrollingWinControl.
TScrollBox |  | Implements a windowed control with scroll bars.
TCustomDesignControl |  | Provides a designer surface for scaling and layout of its child controls.
TCustomFrame |  | The base type for TFrame.
TCustomForm |  | The base type for TForm classes.
TFrame |  | Frames can be designed like Forms and used like custom controls, without much coding or installation in the IDE.
TForm |  | Implements a form used in an LCL application.