TSplitPanel

Base class for container controls that show splitters between controls to resize those controls.

Inheritance

LevelAncestorDescription
1TObjectUltimate ancestor in a class hierarchy
2TBaseObjectA base class for objects that can be used instead of TObject.
3TControlVisual user interface element that can react to user input.
4TPanelBase class for a TControl that contains other controls.
5TOpaquePanelTPanel that fills its background with Style.PanelBackground
6TSplitPanel

Source

UserInterface.Control.Panel.Split.pas (113)

Description

Each control is placed within its own panel which can be larger than the control itself, for instance, when it shows a caption for the control. PanelSize controls the size of the entire panel, ControlSize controls the size of the control itself. Whenever a TSplitPanel is resized it redistributes the size delta according to ResizeWeight.

The size of a panel is initially determined when it IsBoundToLayout. The TControl.Style size properties are interpreted as follows:

Property valueControl sizeResize weight
TControlSize.AutoPreferred size0.0
TControlSize.AvailableRemaining size1.0
TControlSizeFixedSpecified size0.0

The remaining size is distributed evenly among all controls with TControlSize.Available.

Fields

ScopeVisibilityTypeNameDescription
InstanceprivateTInteger32FSplitterRadius
InstanceprivateTInteger32FMouseOverSplitter
InstanceprotectedTBooleanResizing
InstanceprotectedTMouseSplitInformationResizeInformation
InstanceprotectedTControlPreviousActiveControl
InstanceprotectedTCumulativeSizesPanelSizes
InstanceprotectedTList<TPanelInformation>PanelInformations

Methods

ScopeVisibilityResultNameDescription
InstanceprivateSetMouseOverSplitter(Value: TInteger32)
InstanceprivateSetSplitterRadius(Value: TInteger32)
InstanceprivateTInteger32GetSplitterLocation(Index: TInteger32)
InstanceprivateTInteger32GetPanelSize(Index: TInteger32)
InstanceprivateSetPanelSize(Index: TInteger32; Value: TInteger32)
InstanceprivateTInteger32GetControlSize(Index: TInteger32)
InstanceprivateSetControlSize(Index: TInteger32; Value: TInteger32)
InstanceprivateTInteger32GetResizeWeight(Index: TInteger32)
InstanceprivateSetResizeWeight(Index: TInteger32; Value: TInteger32)
InstanceprivateSetPanelCount(Value: TInteger32)
InstanceprivateTInteger32GetPanelCount()
InstanceprivateSetPanels(Index: TInteger32; Value: TControl)
InstanceprivateTControlGetPanels(Index: TInteger32)
InstanceprivateTBooleanGetGlueLast()
InstanceprivateSetGlueLast(Value: TBoolean)
InstanceprotectedTMouseSplitInformationMouseSplitInformation(Position: TInteger32Point)
InstanceprotectedSplitPanelInfo(Index: TInteger32)
InstanceprotectedTSizableCumulativeSizesCreatePanelSizes()
InstanceprotectedHasBeenBoundToLayout()
InstanceprotectedEvenlyDistributeSize(Size: TInteger32)
InstanceprotectedConfigurePanelResizeWeight(Index: TInteger32; Control: TControl)
InstanceprotectedConfigurePanelSize(Index: TInteger32; Control: TControl)
InstanceprotectedConfigurePanelSizes()
InstanceprotectedStartResize(Splitter: TInteger32; Position: TInteger32Point)
InstanceprotectedStopResize()
InstanceprotectedMoveSplitter(Splitter: TInteger32; Position: TInteger32Point; Inplace: TBoolean)
InstanceprotectedResizeToPreferred(Splitter: TInteger32)
InstanceprotectedTInteger32MinimalSplitterLocation(Index: TInteger32)
InstanceprotectedTInteger32MaximalSplitterLocation(Index: TInteger32)
InstanceprotectedTInteger32SplitterWithLocation(Position: TInteger32Point)
InstanceprotectedTInteger32TrailingSize()
InstanceprotectedTInteger32ExtraPanelSize(Index: TInteger32)
InstanceprotectedTInteger32PanelWithLocation(Position: TInteger32Point)
InstanceprotectedTInteger32RectangleCalculatePanelBounds(Index: TInteger32)
InstanceprotectedTCursorGetSplitCursorForXY(Position: TInteger32Point)
InstanceprotectedTInteger32RectangleGetSplitterRectangle(Splitter: TInteger32)
InstanceprotectedPaintHighlightedSplitter(Canvas: TCanvas; Splitter: TInteger32)
InstanceprotectedTInteger32GetPanelIndexWithButtonPanel(ButtonPanel: TSplitButtonPanel)
InstanceprotectedDescendantFiresEvent(Descendant: TControl; Event: TEvent)
InstanceprotectedLayoutPanel(Index: TInteger32)
InstanceprotectedTControlGetControlInFirstNonEmptyPanel()
InstancepublicCreate()
InstancepublicDestroy()
InstancepublicPaint(Canvas: TCanvas)
InstancepublicTControlEmbellish()
InstancepublicTControlSplit(Index: TInteger32; SplitPanelClass: TSplitPanelClass)
InstancepublicTControlToggleCaption(Index: TInteger32)
InstancepublicTControlToggleTabPanel(Index: TInteger32)
InstancepublicClosePanel(Index: TInteger32)
InstancepublicCloseEmptyPanels()
InstancepublicDeletePanel(Index: TInteger32)
InstancepublicTInteger32PanelIndexOf(Control: TControl)
InstancepublicCloseControl(Control: TControl)
InstancepublicTControlDefaultControlToFocus()
InstancepublicTControlDefaultControlToNavigate()
InstancepublicTBooleanMouseLeftDown(Event: TMouseButtonEvent)
InstancepublicTBooleanMouseLeftUp(Event: TMouseButtonEvent)
InstancepublicTBooleanMouseMove(Event: TMouseMoveEvent)
InstancepublicTBooleanMouseLeave(Event: TMouseLeaveEvent)
InstancepublicTCursorGetCursorForPosition(Position: TInteger32Point)
InstancepublicTControlGetDragControl(Position: TInteger32Point)
InstancepublicTDragSiteCreateDragSource(Control: TControl)
InstancepublicTDragSiteCreateDragTarget(Source: TDragSite; Position: TInteger32Point)
InstancepublicTBooleanIsDynamicContainer()