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

# TFlowPanel

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

Implements a panel with flowed layout for its controls.

## Declaration

Source position: extctrls.pp line 1339

`type TFlowPanel = class(TCustomFlowPanel)`
`published`
`property Align: TAlign;` |  | Specifies the placement of the control inside its Parent.
`property Alignment: TAlignment;` |  | Alignment - whether text is left or right justified, or centered.
`property Anchors: TAnchors;` |  | The set of anchor definitions for this control.
`property AutoSize: Boolean;` |  | Allows automatic adjustment of the size for the control, according to its content.
`property AutoWrap: Boolean;` |  | Determines if child controls are automatically wrapped to a new row when needed.
`property BevelInner: TPanelBevel;` |  | Determines the appearance of the Inner Bevel for the panel (whether raised, lowered, etc.).
`property BevelOuter: TPanelBevel;` |  | Determines the appearance of the Outer Bevel for the panel (whether raised, lowered, etc.).
`property BevelWidth: TBevelWidth;` |  | Width for a bevel on the panel in pixels.
`property BiDiMode: TBiDiMode;` |  | Indicates whether text controls use in bi-directional reading.
`property BorderWidth: TBorderWidth;` |  | Width of the Border around the control; default is zero.
`property BorderSpacing: TControlBorderSpacing;` |  | Determines the inner and outer border spacing for this control.
`property BorderStyle: TBorderStyle;` |  | Indicates the border style displayed around the control.
`property Caption: TCaption;` |  | The text displayed for the control.
`property Color: TColor;` |  | Contains the background color for the panel.
`property Constraints: TSizeConstraints;` |  | Contains the minimum and maximum Width and Height for the control.
`property ControlList: TFlowPanelControlList;` |  | Container used to stored TFlowPanelControl instances on the panel.
`property UseDockManager: Boolean;` |  | Determines whether a DockManager is used for this DockSite.
`property DockSite: Boolean;` |  | Allows controls to be drag-and-dock-ed into this control.
`property DoubleBuffered: Boolean;` |  | When enabled, it reduces flicker when the control is painted.
`property DragCursor: TCursor;` |  | The cursor shape shown during a drag operation.
`property DragKind: TDragKind;` |  | Indicates the action performed for a drag operation: drag-and-drop or drag-and-dock.
`property DragMode: TDragMode;` |  | Determines how a drag operation is started for the control.
`property Enabled: Boolean;` |  | Determines whether the control responds to mouse or keyboard input.
`property FlowLayout: TTextLayout;` |  | Use FlowLayout to set the layout (alignment) for the non-flowed coordinate. The default value is tlTop.
`property FlowStyle: TFlowStyle;` |  | Contains the flow direction used to position controls on the panel.
`property FullRepaint: Boolean;` |  | FullRepaint - if True, the panel needs to be fully repainted after each change.
`property Font: TFont;` |  | The font to be used for text display in this control.
`property ParentBiDiMode: Boolean;` |  | Indicates whether the BiDiMode settings in the Parent control are used.
`property ParentColor: Boolean;` |  | Indicates if the control is drawn using the color in the parent control.
`property ParentDoubleBuffered: Boolean;` |  | Value for the DoubleBuffered property in a Parent control.
`property ParentFont: Boolean;` |  | Indicates if the Font from the Parent control is used in the control.
`property ParentShowHint: Boolean;` |  | If True, the value of ShowHint for the control will be the same as the one from the Parent. Default is True.
`property PopupMenu: TPopupMenu;` |  | A context-sensitive menu that pops up when the right mouse button is clicked over this control.
`property ShowHint: Boolean;` |  | Enables Hint display for the control.
`property TabOrder: TTabOrder;` |  | Indicates the navigation order for the control when the user presses the Tab or Shift+Tab key.
`property TabStop: Boolean;` |  | Allows the user to navigate to / from the control by pressing the Tab or Shift+Tab keys.
`property Visible: Boolean;` |  | Allows the control, and all of its children, to be displayed or hidden.
`property OnAlignInsertBefore: TAlignInsertBeforeEvent;` |  | Event handler signalled to determine the order and placement for custom-aligned child controls.
`property OnAlignPosition: TAlignPositionEvent;` |  | Event handler signalled to determines the position and size for custom-aligned child controls.
`property OnClick: TNotifyEvent;` |  | Notification handler for mouse clicks.
`property OnConstrainedResize: TConstrainedResizeEvent;` |  | This handler can supply specific Constraints (size limits), when the control is resized.
`property OnContextPopup: TContextPopupEvent;` |  | Invoked when a context-sensitive pop-up menu is requested.
`property OnDockDrop: TDockDropEvent;` |  | Event handler signalled for the drop of a control to be docked.
`property OnDockOver: TDockOverEvent;` |  | Event handler signalled when a control is moved over a docksite; determines whether the drop event is accepted or rejected.
`property OnDblClick: TNotifyEvent;` |  | Event handler signalled when a mouse double click occurs in the control.
`property OnDragDrop: TDragDropEvent;` |  | Event handler signalled when an object is dropped onto the control.
`property OnDragOver: TDragOverEvent;` |  | Event handler signalled when a control is dragged over the control instance.
`property OnEndDock: TEndDragEvent;` |  | Event handler signalled for the end of a drag-dock operation.
`property OnEndDrag: TEndDragEvent;` |  | Event handler signalled for the end of a drag-drop operation.
`property OnEnter: TNotifyEvent;` |  | Event handler signalled when the control receives focus.
`property OnExit: TNotifyEvent;` |  | Event handler signalled when the control loses focus.
`property OnGetSiteInfo: TGetSiteInfoEvent;` |  | Provides information about the DockSite for the control.
`property OnMouseDown: TMouseEvent;` |  | Event handler signalled when a mouse down event is handled for the control.
`property OnMouseEnter: TNotifyEvent;` |  | Event handler signalled when the mouse pointer has entered the control.
`property OnMouseLeave: TNotifyEvent;` |  | Event handler signalled when the mouse pointer has left the control.
`property OnMouseMove: TMouseMoveEvent;` |  | Event handler signalled when the mouse pointer is moved in the control.
`property OnMouseUp: TMouseEvent;` |  | Event handler signalled when a mouse up event is handled for the control.
`property OnResize: TNotifyEvent;` |  | Notification handler for a resize of the control.
`property OnStartDock: TStartDockEvent;` |  | Event handler for the start of a docking operation.
`property OnStartDrag: TStartDragEvent;` |  | Event handler signalled for the start of a dragging operation.
`property OnUnDock: TUnDockEvent;` |  | Event handler signalled before a control is undocked from its DockSite.
`end;`

## Inheritance

`TFlowPanel` |  | Implements a panel with flowed layout for its controls.
`TCustomFlowPanel` |  | The base class for TFlowPanel.
`TCustomPanel` |  | The base class for a general container which can hold other objects. It has a customizable border and a central text.
`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

TFlowPanel is a TCustomFlowPanel descendant which implements a panel used to automatically position controls added to the panel in a grid-like layout.

The FlowStyle property determines layout direction for controls added to the panel.

FlowLayout controls the vertical positioning for controls in given row on the panel.

The ControlList property provides a list of wrapper classes maintained for each of the controls on the panel. Its items maintain the position and wrapping options for each control using the FlowStyle and FlowLayout algorithms.

Adding a control to the panel causes it to be positioned at the next cell in the layout. The Left and Top coordinates for each control are adjusted to position the control within a cell using the FlowStyle and FlowLayout properties for the panel. The Anchors and Align properties for child controls are ignored. The BorderSpacing setting for the controls is used, however.

AutoWrap indicates whether the controls are automatically flowed into rows based on their settings in ControlList.

## See also

TCustomFlowPanel |  | The base class for TFlowPanel.