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

# TDateEdit

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

Implements a control with an edit box for a date value and an attached speed button to display a date selection (calendar) dialog.

## Declaration

Source position: editbtn.pas line 595

`type TDateEdit = class(TCustomEditButton)`
`protected`
`class procedure WSRegisterClass; override;` |  | Registers the class reference used to create new instances of the class.
`function GetDefaultGlyphName; override;` |  | Gets the name of the default glyph resource used for the Button on the control.
`procedure ButtonClick; override;` |  | Displays a pop-up calendar dialog when the Button for the grouped edit control is clicked.
`procedure EditDblClick; override;` |  | Performs actions needed when the Edit in the control is double clicked.
`procedure EditEditingDone; override;` |  | Implements the OnEditingDone event handler for the Edit in the control.
`procedure SetDirectInput(); override;` |  | Sets the value in the DirectInput property.
`procedure RealSetText(); override;` |  | Sets the value for text in the control.
`procedure SetDateMask; virtual;` |  | Applies an EditMask based on the DateOrder for the control.
`procedure Loaded; override;` |  | Performs actions needed when the component has finished loading in the LCL streaming mechanism.
`procedure DoDateRangeCheck();` |  | Signals the OnDateRangeCheck event handler (when assigned).
`public`
`constructor Create(); override;` |  | Constructor for the class instance.
`function GetDateFormat;` |  | Gets the FormatDateTime-compatible format specification used for the current DateOrder in the control.
`property AutoSelected: Boolean;` |  | Indicates if the current text selection was performed automatically.
`property Date: TDateTime; [rw]` |  | Contains the TDateTime value for the control.
`property Button: TSpeedButton;` |  | TSpeedButton instance used on the edit control.
`property DroppedDown: Boolean; [r]` |  | Indicates the calendar dialog for the control is visible when True.
`published`
`property CalendarDisplaySettings: TDisplaySettings; [rw]` |  | Display or behavior options enabled in the pop-up calendar dialog for the control.
`property OnAcceptDate: TAcceptDateEvent; [rw]` |  | Event handler signalled to accept or reject a new date value selected using the calendar dialog for the control.
`property OnCustomDate: TCustomDateEvent; [rw]` |  | OnCustomDate - event handler for inserting a custom date.
`property OnDateRangeCheck: TDateRangeCheckEvent; [rw]` |  | Event handler signalled prior to validating and range checking a date value.
`property ReadOnly: Boolean;` |  | Indicates whether the value for the control can be changed.
`property DefaultToday: Boolean; [rw]` |  | True to use the current system date when a Date value is not available.
`property DateOrder: TDateOrder; [rw]` |  | Controls the display order for Year, Month, and Day parts of the Date value.
`property DateFormat: string; [rw]` |  | Specifies the format string used for the date value in the control.
`property MinDate: TDateTime; [rws]` |  | Smallest date value allowed in the date edit control.
`property MaxDate: TDateTime; [rws]` |  | Largest date value allowed in the date edit control.
`property ButtonOnlyWhenFocused: Boolean;` |  | ButtonOnlyWhenFocused - if True, the SpeedButton only appears when focus is given to the EditButton control.
`property ButtonCaption: TCaption;` |  | Contains the caption used for the Button on the edit control.
`property ButtonCursor: TCursor;` |  | Cursor shape displayed when the mouse hovers over the Button in the control.
`property ButtonHint: TTranslateString;` |  | Text displayed in the pop-up hint window when the mouse hovers over the button.
`property ButtonWidth: Integer;` |  | Width for the TSpeedButton on the edit control.
`property Action: TBasicAction;` |  | The Action associated with the control.
`property Align: TAlign;` |  | Specifies the placement of the control on its Parent control.
`property Alignment: TAlignment;` |  | Indicates the text alignment used for the control value.
`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 AutoSelect: Boolean;` |  | Enables auto-selection of text when focused.
`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 DirectInput: Boolean;` |  | Indicates if text can be entered directly into the BaseEditor control.
`property Glyph: TBitmap;` |  | Glyph - the small graphic image on the SpeedButton, which ought to indicate its function.
`property NumGlyphs: Integer;` |  | NumGlyphs - the number of available glyphs.
`property Images: TCustomImageList;` |  | Contains the Images that can be displayed on the Button for the grouped edit control.
`property ImageIndex: TImageIndex;` |  | Ordinal position in Images for the bitmap displayed on the Button control.
`property ImageWidth: Integer;` |  | Specifies the width of the image displayed on the Button control.
`property DragMode: TDragMode;` |  | Determines how a drag operation is started for the control.
`property EchoMode: TEchoMode;` |  | Indicates if characters entered in the control value are hidden, displayed, or obscured.
`property Enabled: Boolean;` |  | Determines whether the control responds to mouse or keyboard input.
`property Flat: Boolean;` |  | When True, the SpeedButton has a flat appearance rather than a three-dimensional one.
`property FocusOnButtonClick: Boolean;` |  | Indicates if the focus is changed to the Edit control after the Button is clicked.
`property Font: TFont;` |  | The font to be used for text display in this control.
`property Layout: TLeftRight;` |  | Controls the alignment of the edit control and its associate.
`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 ParentColor: Boolean;` |  | Use the Color from the Parent control, when enabled.
`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 TabStop: Boolean;` |  | Allows the user to navigate to / from the control by pressing the Tab or Shift+Tab keys.
`property TabOrder: TTabOrder;` |  | Indicates the navigation order for the control when the user presses the Tab or Shift+Tab key.
`property Spacing: Integer;` |  | Specifies the number of pixels reserved between the Edit and Button controls when Button is visible.
`property Visible: Boolean;` |  | Allows the control, and all of its children, to be displayed or hidden.
`property Text: TCaption;` |  | String with the text or caption for the control.
`property TextHint: TTranslateString;` |  | Default hint text shown when the Text property is empty for the grouped edit control.
`property OnButtonClick: TNotifyEvent;` |  | OnButtonClick - event handler for a mouse click on the SpeedButton.
`property OnChange: TNotifyEvent;` |  | Event handler signalled when the text for the control is changed.
`property OnChangeBounds: TNotifyEvent;` |  | Event handler signalled when the Bounds for the control have been 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 OnEditingDone: TNotifyEvent;` |  | Event handler signalled when editing is completed for the control.
`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 OnUTF8KeyPress: TUTF8KeyPressEvent;` |  | Handler for a character entered by the user.
`end;`

## Inheritance

`TDateEdit` |  | Implements a control with an edit box for a date value and an attached speed button to display a date selection (calendar) dialog.
`TCustomEditButton` |  | TCustomEditButton - base class for TEditButton, an Edit Box with attached Speed Button.
`TCustomAbstractGroupedEdit` |  | Implements a grouped edit control.
`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

TDateEdit is a TCustomEditButton descendant which implements a grouped edit control for entering a date value. The control uses an Edit and a Button, as defined in the ancestor class, and displays a pop-up Calendar dialog to select a date value when the Button is clicked. The selected date is stored in the Date property as a TDateTime value.

TDateEdit provides additional properties which are used to configure the Edit and Button controls and the dialog executed when Button is clicked.

TDateEdit has an overridden ButtonClick method which displays the pop-up Calendar dialog. This method includes logic to set the minimum and maximum date values for the native calendar control on the dialog. For the Windows platform, the value limits are September 14, 1752 and December 31, 9999. This functionality is not supported for all platforms. Specifically, GTK2 and GTK3 do not support the minimum and maximum date values on their native calendar controls.

## See also

TCustomEditButton |  | TCustomEditButton - base class for TEditButton, an Edit Box with attached Speed Button.