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

# TDBMemo

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

TDBMemo is a data-aware Memo box to process the multi-line text of a single field in a dataset.

## Declaration

Source position: dbctrls.pp line 998

`type TDBMemo = class(TCustomMemo)`
`protected`
`function GetReadOnly; override;` |  | Gets the value for the ReadOnly property.
`procedure SetReadOnly(); override;` |  | Sets the value for the ReadOnly property.
`procedure DataChange();` |  | DataChange - if Data changed, loads the new data into the appropriate part of the Field.
`procedure Notification(); override;` |  | Handles the notification when a component is added or removed from the control.
`procedure UpdateData();` |  | UpdateData - if data changed, copy new text via the datalink.
`procedure Change; override;` |  | Performs actions needed when the value for the control has been changed.
`procedure KeyDown(); override;` |  | Handles key down events in the data-aware control.
`procedure KeyPress(); override;` |  | Signals the OnKeyPress event handler (when assigned).
`procedure WndProc(); override;` |  | The general message handler for this control.
`class procedure WSRegisterClass; override;` |  | Registers the widgetset class created for new instances of the control.
`public`
`constructor Create(); override;` |  | Constructor for the class instance.
`destructor Destroy; override;` |  | Destroy - destructor for TDBMemo: frees datalinks then calls inherited Destroy.
`procedure EditingDone; override;` |  | Called when editing has been completed in the control.
`procedure LoadMemo; virtual;` |  | Loads the lines of text for the memo from the field in the linked data set.
`function ExecuteAction(); override;` |  | Provides support for TBasicAction in the control.
`function UpdateAction(); override;` |  | Updates the specified action to reflect the current state in the linked dataset.
`property Field: TField; [r]` |  | Provides access to the field definition for the data-aware control.
`published`
`property Align: TAlign;` |  | Specifies the placement of the control on its Parent control.
`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 AutoDisplay: Boolean; [rw]` |  | AutoDisplay - if True, automatically displays the data when loaded from the linked dataset.
`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 DataField: string; [rw]` |  | The name of the field, as a string (i.e. cannot be referred to as an Index).
`property DataSource: TDataSource; [rw]` |  | Provides access to the dataset with content 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 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 Font: TFont;` |  | The font to be used for text display in this control.
`property MaxLength: Integer;` |  | The maximum length of the value entered in Text, or 0 (zero) for unlimited length.
`property ParentBiDiMode: Boolean;` |  | Indicates whether the BiDiMode settings in the Parent control are used.
`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 ReadOnly: Boolean; [rw]` |  | Indicates that the text in the control cannot be modified.
`property ScrollBars: TScrollStyle;` |  | Defines the vertical and/or horizontal scrollbars used 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 Visible: Boolean;` |  | Allows the control, and all of its children, to be displayed or hidden.
`property WantReturns: Boolean;` |  | Allows the user to insert Return characters (line breaks) into the text.
`property WantTabs: Boolean;` |  | Allows Tab characters to be entered into the text.
`property WordWrap: Boolean;` |  | Allows long lines (paragraphs) to wrap into multiple display lines.
`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 OnResize: TNotifyEvent;` |  | Notification handler for a resize of the control.
`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

`TDBMemo` |  | TDBMemo is a data-aware Memo box to process the multi-line text of a single field in a dataset.
`TCustomMemo` |  | The base class for multi-line text controls.
`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

TDBMemo is a TCustomMemo descendant which implements a data-aware memo control. Like its ancestor, TDBMemo can be used to display or edit multi-line textual content. It extends the ancestor class to provide properties which define the datasource and field name with the value maintained in the control. For situations where data-awareness is not needed, use the TMemo control.

Internally, the control uses a TFieldDataLink to maintain an association between the control and its datasource, dataset, and field.

Use DataSource to assign the component with the linked dataset for the control.

Use DataField to specify the name of the field in the linked dataset with the value for the control.

Use the AutoDisplay property to control whether the field content is automatically displayed during record navigation in the linked dataset. When AutoDisplay is set to False, the DisplayLabel for the Field is shown in the control and it content must be loaded by calling the LoadMemo method.

## See also

TCustomMemo |  | The base class for multi-line text controls.
How To Use Data-aware Controls |  | HowToUseDataAwareControls - Hints for accessing databases.