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

# TLabeledEdit

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

Implements an edit control with a label bound to the control.

## Declaration

Source position: extctrls.pp line 1054

`type TLabeledEdit = class(TCustomLabeledEdit)`
`published`
`property Alignment: TAlignment;` |  | The horizontal alignment for the text in the control (left, right, or centered).
`property Anchors: TAnchors;` |  | The set of anchor definitions for this control.
`property AutoSelect: Boolean;` |  | Enables auto-selection of text when focused.
`property AutoSize: Boolean;` |  | Allows automatic adjustment of the size for the control, according to its content.
`property BidiMode: TBiDiMode;` |  | Indicates whether text controls use in bi-directional reading.
`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 CharCase: TEditCharCase;` |  | Controls the character case applied to values entered in the control.
`property Color: TColor;` |  | The background color for the control.
`property Constraints: TSizeConstraints;` |  | Contains the minimum and maximum Width and Height for the 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 DragMode: TDragMode;` |  | Determines how a drag operation is started for the control.
`property EchoMode: TEchoMode;` |  | Allows to modify the text display, useful for entering passwords.
`property EditLabel: TBoundLabel;` |  | EditLabel - the label attached to the edit box.
`property Enabled: Boolean;` |  | Determines whether the control responds to mouse or keyboard input.
`property Font: TFont;` |  | The font to be used for text display in this control.
`property LabelPosition: TLabelPosition;` |  | Edge on the edge control where the bound label is aligned.
`property LabelSpacing: Integer;` |  | Number of pixels between the control and its bound label.
`property MaxLength: Integer;` |  | The maximum length of the value entered in Text, or 0 (zero) for unlimited length.
`property NumbersOnly: Boolean;` |  | Indicates if the edit control accepts numeric values only.
`property ParentBidiMode: Boolean;` |  | Indicates whether the BiDiMode settings in the Parent control are used.
`property ParentColor: Boolean;` |  | Use the Color from the Parent control, when enabled.
`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 PasswordChar: Char;` |  | Allows obfuscation of the displayed text, showing all characters as PasswordChar.
`property PopupMenu: TPopupMenu;` |  | A context-sensitive menu that pops up when the right mouse button is clicked over this control.
`property ReadOnly: Boolean;` |  | Indicates if the user is prevented from changing the value for the Text in the 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 Text: TCaption;` |  | The text displayed and edited for the control.
`property TextHint: TTranslateString;` |  | Default hint text shown when the Text property is empty for the control.
`property Visible: Boolean;` |  | Allows the control, and all of its children, to be displayed or hidden.
`property OnChange: TNotifyEvent;` |  | Event handler signalled when the text for the control is changed.
`property OnClick: TNotifyEvent;` |  | Notification handler for mouse clicks.
`property OnContextPopup: TContextPopupEvent;` |  | Invoked when a context-sensitive pop-up menu is requested.
`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 OnEditingDone: TNotifyEvent;` |  | Event handler signalled when editing is completed for the control.
`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 OnKeyDown: TKeyEvent;` |  | Event handler signalled for key down keyboard events.
`property OnKeyPress: TKeyPressEvent;` |  | Event handler signalled for character data entered by the user.
`property OnKeyUp: TKeyEvent;` |  | Event handler signalled when a key up event has occurred 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 OnMouseWheel: TMouseWheelEvent;` |  | Event handler for mouse wheel turned.
`property OnMouseWheelDown: TMouseWheelUpDownEvent;` |  | Event handler signalled for a downward movement of the mouse wheel.
`property OnMouseWheelUp: TMouseWheelUpDownEvent;` |  | Event handler signalled for an upward movement of the mouse wheel.
`property OnStartDrag: TStartDragEvent;` |  | Event handler signalled for the start of a dragging operation.
`property OnUTF8KeyPress: TUTF8KeyPressEvent;` |  | Handler for a character entered by the user.
`end;`

## Inheritance

`TLabeledEdit` |  | Implements an edit control with a label bound to the control.
`TCustomLabeledEdit` |  | Defines an edit control with a label bound to the control.
`TCustomEdit` |  | The base class for controls presenting editable text.
`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

TLabeledEdit is a TCustomLabeledEdit descendant which implements an edit control with a label bound to the control. It saves time and effort over placing separate Label and Edit Box on Form. The properties are described in the parent component, TCustomLabeledEdit from which most of the properties are inherited.

Note particularly the EditLabel property (see TBoundLabel), which contains the label attached to the Edit control.

Use LabelPosition to specify the location where EditLabel is displayed relative to the edit box in the control. Use LabelSpacing to set the spacing (in pixels) between EditLabel and the edit control.

About TCustomLabeledEdit / TLabeledEdit

TCustomLabeledEdit and TLabeledEdit are based on the similarly named controls from the Delphi VCL. While they offer code compatibility with the VCL class, they have some drawbacks when used in the LCL. For instance:

- They do not work very well with the positioning and anchoring mechanisms used in LCL. They do not have an Align property used to position, align, and stack controls towards one of the edges on the parent control.
- There are also shortcomings when using BorderSpacing; the extra spacing is inserted between the bound label and the edit box on the control instead around the composite control.
- Labels with long captions are not ellipsified or aligned properly when longer than the associated edit control.
- Multi-line captions on a label are not positioned as expected; the label often overlaps (or is obscured by) adjacent controls.
- When EditLabel is placed above or below the Edit control, and its caption is wider than the Edit, the text will be clipped at the Edit's left/right sides. Likewise, when the EditLabel is placed at the left or right of the Edit control and is taller than the Edit, it will be clipped at the top and bottom edges of the Edit control.

Despite the convenience of TCustomLabeledEdit / TLabeledEdit, most will elect to use separate label and edit controls to avoid the shortcomings in the align and anchoring mechanisms for the composite control.

## See also

TCustomLabeledEdit.EditLabel |  | EditLabel - the label attached to the edit box.
TCustomLabeledEdit.LabelPosition |  | Edge on the edge control where the bound label is aligned.
TCustomLabeledEdit.LabelSpacing |  | Number of pixels between the control and its bound label.
TBoundLabel |  | Implements a label bound to another control.
TLabelPosition |  | Specifies the position for a label relative to an associated control.
TCustomEdit |  | The base class for controls presenting editable text.
TCustomLabel |  | Control used to show static text optionally using multiple lines.