Line

Qualified name: delphifmx.Line

class Line

Bases: Shape

TLine defines 2D lines. It inherits TControl and can be used in styles to construct controls. The end points of the line to draw are defined by the following properties of the TLine object:

The shape rectangle and the LineType define the straight-line segment to draw: LineType defines the orientation of the line segment. The intersection points of this line segment with the local rectangle define the end points of the straight-line segment. RotationCenter defines the rotation axis and RotationAngle defines the rotation angle on which the straight-line segment is rotated to obtain the line to draw. Note: Scaling not only scales the line length proportionally to scaling the factors. It also changes the thickness of the stroke that draws the line. That change is proportional to the scaling factor for each axis. The parent TControl draws TLine with the Paint method. To draw TLine, the Paint method uses the drawing pen with the Stroke property defined for the TLine object.

Methods

AbsoluteToLocal

Converts the screen coordinates of a specified point on the screen to client coordinates.

BringToFront

Puts the control in front of all other controls in its parent control.

CanFocus

Indicates whether a control can receive focus.

LocalToAbsolute

Translates a given point from client area coordinates to global screen coordinates.

Paint

Renders the control's surface.

PrepareForPaint

Prepares the current control for painting.

Repaint

Forces the control to repaint its image on the screen.

ResetFocus

Removes the focus from a control of from any children of the control.

SendToBack

Puts a windowed control behind all other windowed controls, or puts a non-windowed control behind all other non-windowed controls.

SetBounds

Sets the Left, Top, Width, and Height properties all at once.

SetFocus

Gives the input focus to the control.

Attributes

AbsoluteClipRect

Specifies the absolute rectangle of the control after all its parent controls clip it.

AbsoluteEnabled

Specifies whether the control is absolutely enabled.

AbsoluteHeight

Specifies the absolute height of the control.

AbsoluteMatrix

Specifies the absolute transformation matrix of the control.

AbsoluteOpacity

Specifies the absolute opacity of the control.

AbsoluteRect

Specifies the absolute rectangle that bounds the control.

AbsoluteScale

Specifies the absolute scale of the control.

AbsoluteWidth

Specifies the absolute width of the control.

ActionClient

Specifies whether the component object has an associated action.

Align

Specifies the alignment options (top, left, client, and so on) of this control.

Anchors

Specifies how the control is anchored to its parent.

ApplyingEffect

A flag that signals when a control is in the process of applying an effect.

AutoCapture

Specifies whether the control captures mouse events.

AxisAlignedRect

A TRectF defined by the width and height of the control.

BoundsRect

Specifies the bounding rectangle of the control.

CanParentFocus

Specifies whether the parent of this control should be evaluated to receive focus.

Canvas

Provides the drawing surface of the control.

Children

Stores an array of children attached to this parent component.

ChildrenCount

Read-only property that specifies the number of children in the children list.

ChildrenRect

Specifies the bigger rectangle area occupied by parent and children controls.

ClassName

Returns the TObject.ClassName

ClipChildren

Specifies if children of the control should be clipped to the control's on-screen region.

ClipParent

Specifies whether the current control has clipped its parent.

ClipRect

Specifies the bound rectangle to be clipped.

ComObject

Specifies the interface reference implemented by the component.

ComponentCount

Returns the owned component count

ComponentIndex

Indicates the position of the component in its owner's Components property array.

ComponentState

Describes the current state of the component, indicating when a component needs to avoid certain actions.

ComponentStyle

Governs the behavior of the component.

Components

Returns an iterator over the owned components

Controls

Returns an iterator over contained controls

ControlsCount

Returns the count of contained controls

Cursor

Image to use to represent the mouse pointer when it passes into the region covered by the control.

Data

Stores a Tvalue, which is a data structure that can store different kinds of data types.

DefaultSize

Embarcadero Technologies does not currently have any additional information.

DesignInfo

Contains information used by the Form designer.

DisableDisappear

Embarcadero Technologies does not currently have any additional information.

DisableFocusEffect

Specifies whether the control has the focus effect disabled.

DragMode

Specifies how the control initiates drag-and-drop operations.

EnableDragHighlight

Specifies whether the control is highlighted when the dragged object is over it.

Enabled

Specifies whether the control responds to mouse, keyboard, and timer events.

Fill

Determines the color and pattern used to fill the shape background.

FixedSize

Embarcadero Technologies does not currently have any additional information.

HasAfterPaintEffect

Specifies whether the control has an effect that is applied after the control is painted.

HasClipParent

Control that is a direct child of this control and has clipped this control.

HasDisablePaintEffect

Specifies whether the control's effect is painted.

HasEffect

Specifies whether the control has an applied effect.

Height

Height specifies the vertical size of the control (in dp).

Hint

Specifies the text string that appears when the user moves the mouse over a control.

HitTest

Enables the control to capture mouse events.

InPaintTo

Specifies whether the control is currently being painted.

Index

Specifies the index of the child object in the children array attached to this object.

InheritedCursor

Image used to represent the mouse pointer when it passes into the region covered by the control.

InvertAbsoluteMatrix

Specifies the inverse matrix of AbsoluteMatrix.

IsDragOver

Specifies whether a dragged object is over the area of the current control.

IsFocused

Determines whether the control has input focus.

IsInflated

Whether the current style of this control has been actually applied to the control.

IsMouseOver

Specifies whether the mouse cursor is over the control.

IsVisible

Specifies whether the control is visible.

LineLocation

Specifes the way a line is drawn.

LineType

Specifies how to place the line inside the shape rectangle.

LocalRect

Specifies the local rectangle for painting the control.

Locked

Specifies whether the control is locked at design time.

Margins

Aligns the component to the margins points of other components.

Name

Specifies the name of the component as referenced in code.

Observers

Indicates the TObservers object added to the TComponent.

OnDragDrop

Callable[[Object, DragObject, PointF], None]:

OnDragEnter

Callable[[Object, DragObject, PointF], None]:

OnDragOver

Callable[[Object, DragObject, PointF, DragOperation], None]:

OnGesture

Callable[[Object, GestureEventInfo, bool], None]:

OnPaint

Callable[[Object, Canvas, RectF], None]:

OnPainting

Callable[[Object, Canvas, RectF], None]:

Opacity

Specifies the control opacity.

Owner

Returns the Component Owner

Padding

Aligns the component to the padding points of other components.

Parent

Returns/Sets the Control Visibility

ParentControl

Specifies the parent control of this control.

ParentShowHint

If True, the value of the ShowHint property of this control inherits the value of the ShowHint property of the parent control.

ParentedRect

Specifies the bounding rectangle of the control within its parent.

ParentedVisible

Specifies whether all the control's parents are visible.

PopupMenu

Specifies the context (pop-up) menu object.

Position

Returns an access to the position of the control inside its parent

Pressed

Indicates whether the control is currently pressed.

PressedPosition

A point that indicates where exactly on the control the click occured.

Root

Specifies the root parent of this object.

RotationAngle

Specifies the amount (in degrees) by which the control is rotated from the x-axis.

RotationCenter

Specifies the position of the pivot point of the control.

Scale

Specifies the scale of the control.

Scene

Specifies the current scene in which the control is drawn.

ShapeRect

Specifies the rectangle for drawing the shape.

ShortenLine

Indicates whether to shorten the line.

ShowHint

Specifies whether the Hint can be shown.

Size

Specifies the vertical and horizontal size (Size.Height and Size.Width) of the control (in pixels).

Stored

Specifies whether this object is stored in the .XFM file.

Stroke

Determines the color and pattern of the drawing pen used to draw lines and shape contours of the graphical primitives.

StyleName

Specifies the style name for this FMX component.

TabOrder

Indicates the position of the control in its parent's tab order.

TabStop

Embarcadero Technologies does not currently have any additional information.

Tag

Stores a NativeInt integral value as a part of a component.

TagFloat

Custom property that stores any floating-point value.

TagObject

Custom property that stores any object value.

TagString

Custom property that stores any string value.

Touch

Specifies the touch manager component associated with the control.

TouchTargetExpansion

Set of optional pixel values you can specify to expand the touch target of a FireMonkey styled control.

UpdateRect

Specifies the rectangle area of the control that needs to be updated.

VCLComObject

Represents information used internally by components that support COM.

Visible

Returns/Sets the Control Visibility

Width

Specifies the horizontal size of the control (in pixels).

AbsoluteToLocal()

Converts the screen coordinates of a specified point on the screen to client coordinates.

Align

Specifies the alignment options (top, left, client, and so on) of this control. Use Align to automatically set the alignment of the current control. Setting Align to a value different than None can affect the position, size (height and width), and anchors of the control. By default, Align is set to None. Descendants of TControl typically set the visibility and value for the Align property. For example, for TToolBar, Align defaults to TAlignLayout.Top. To see the possible values for Align and their visible effects over the control, see FMX.Types.TAlignLayout. Controls that have the Align or Anchors properties set can use a Scale that is different from the default (1,1), so that controls align together even when they have a custom scale.

Type:

AlignLayout

Anchors

Specifies how the control is anchored to its parent. Use Anchors to ensure that a control maintains its current position relative to the edges of its parent, even if the parent is resized. When its parent is resized, the control holds its position relative to the edges to which it is anchored. Anchors is enforced only when the parent control is resized. If a control is anchored to opposite edges at the same time, the control stretches horizontally or vertically to maintain constant the distance between the control edges and parent edges. If a control is anchored to all four edges of its parent, the control stretches in all directions. By default, a control is anchored to the top and left edges of its container (Anchors=[akTop,akLeft]). The automatic alignment may affect the anchors of a control. When Align is set to None, all the anchors are available. If Align is not None, the anchors affected by the automatic alignment are excluded. Changing the state of the anchors affected by the automatic alignment has no effect over the control. Controls that have the Align or Anchors properties set can use a Scale that is different from the default (1,1), so that controls align together even when they have a custom scale.

Type:

Anchors

BringToFront()

Puts the control in front of all other controls in its parent control.

CanFocus()

Indicates whether a control can receive focus.

ClipChildren

Specifies if children of the control should be clipped to the control’s on-screen region. Set ClipChildren to

True if you want child controls to be clipped to the control’s on-screen region. False if you want child controls to be able to extend beyond the region of the parent control.

Type:

bool

ClipParent

Specifies whether the current control has clipped its parent. When ClipParent is True, TControl cuts off the portion of the parent that lies under the control when the control is painted by the Paint and Painting methods. Parts of the control that do not contain visible objects cut off holes in the parent’s image. ClipParent is ignored in PaintChildren and other painting methods. If one parent has more that one child control having ClipParent equals True, then only one of these child controls is painted with ClipParent equals True. Others child controls are painted as if ClipParent equals False.

Type:

bool

Controls

Returns an iterator over contained controls

ControlsCount

Returns the count of contained controls

Cursor

Image to use to represent the mouse pointer when it passes into the region covered by the control. Change the value of Cursor to provide feedback to the user when the mouse pointer enters the control. For a list of cursor constants, see System.UITypes Constants. The image representations of the cursor depend on the theme active on the current platform. If Cursor is set to the default cursor, this control might display a different cursor when the mouse pointer is over it. The actual cursor that this control displays is the cursor defined in InheritedCursor, a read-only property that is calculated based not only in the value of Cursor in this control, but also the value of Cursor in any ancestor of this control (parent, grand-parent, and so on until the parent form).

Type:

int

DragMode

Specifies how the control initiates drag-and-drop operations. Use DragMode to control when the user can drag the control. Disable the drag-and-drop capability at run time by setting the DragMode property value to dmManual. Enable automatic dragging by setting DragMode to dmAutomatic.

Type:

DragMode

EnableDragHighlight

Specifies whether the control is highlighted when the dragged object is over it.

Type:

bool

Enabled

Specifies whether the control responds to mouse, keyboard, and timer events. Use Enabled to change the availability of the control to the user. To disable a control, set Enabled to False. Some disabled controls appear dimmed (for example: buttons, check boxes, labels), while others (container controls) simply lose their functionality without changing their appearance. If Enabled is set to False, the control ignores mouse, keyboard, and timer events. To re-enable a control, set Enabled to True. This property applies to all TControl descendants.

Type:

bool

Height

Height specifies the vertical size of the control (in dp). Use the Height property to read or change the height of the control.

Type:

float

Hint

Specifies the text string that appears when the user moves the mouse over a control. See Using Hints to Show Contextual Help in a FireMonkey Application for more information about hints.

Type:

str

HitTest

Enables the control to capture mouse events.

If you set HitTest to True, this control captures all mouse events. The example below shows the use of HitTest for an OnClick event. If you set HitTest to False, the mouse events will pass through this control, so that a control laid out behind this one receives the mouse events instead of this control. Note: The HitTest enables all mouse-related events, which also include the display of Hints and Hint-related events. For most controls, HitTest is True by default. However, this is not true for all the controls. For example, for TLabel and TPathLabel, HitTest is False by default; these two controls do not capture the mouse-related events unless you set HitTest to True.

Example of HitTest 1. On a form, place a TPanel component. 2. Inside the panel, place a TPathLabel component. 3. Implement the OnClick event for both the TPanel and the TPathLabel:

procedure TForm1.Panel1Click(Sender: TObject); begin

ShowMessage(‘OnClick event fired for TPanel’);

end;

procedure TForm1.PathLabel1Click(Sender: TObject); begin

ShowMessage(‘OnClick event fired for TPathLabel’);

end;

  1. Set the TPathLabel HitTest property to False (this is the default setting). Run the application and click the label. The OnClick event is fired for the panel (not the label).

  2. Set the TPathLabel HitTest property to True. Run the application and click the label. The OnClick event is fired for the TPathLabel.

Type:

bool

IsFocused

Determines whether the control has input focus.

LineLocation

Specifes the way a line is drawn. The available values are:

Boundary: Default. If you increase the thickness of a Boundary line, the line grows inside and outside of the control symmetrically. The central point of the growth depends on the TLineType. If TLineType is Diagonal, the line goes from the top-left corner to the bottom-right corner. If the thickness of the line is greater than the size of the control, a Boundary line may grow beyond the control. Inner: If you increase the thickness of an Inner line, the line grows inside the control. If the thickness of the line is greater than the size of the control, an Inner line may grow beyond the control. InnerWithin: If you increase the thickness of an InnerWithin line, the line grows inside the control. The thickness of an InnerWithin line is limited by the size of the control (it never grows beyond the control).

Type:

LineLocation

LineType

Specifies how to place the line inside the shape rectangle. The LineType value should be one of the constants defined in the TLineType type: Diagonal, Top, or Left. The default is Diagonal. The TLineType type defines the following constants:

Constant

Meaning

Diagonal

Draw the line as the diagonal of the shape rectangle.

Top

Draw the line as the top side (width) of the shape rectangle.

Bottom

Draw the line as the bottom side (width) of the shape rectangle.

Left

Draw the line as the left side (height) of the shape rectangle.

Right

Draw the line as the right side (height) of the shape rectangle.

Type:

LineType

LocalToAbsolute()

Translates a given point from client area coordinates to global screen coordinates.

Locked

Specifies whether the control is locked at design time. A locked control prohibits to move the control at design time, all the other properties can be modified at design time. To lock the control, set Locked to True. By default, Locked is False, and the control can be modified at design time.

Type:

bool

Margins

Aligns the component to the margins points of other components. The Margins of a control are the distances (in pixels) from each edge (top, left, bottom, right) to another control within the same Parent or to the edge of its Parent. The Margins add space to the outer side of the control. It only applies for controls that do not use TAlignLayout None and the components are located to each other. If a margin is not 0, no other control will come closer to the control than the specified distance. If the distance from a Parent edge to the corresponding control edge is smaller than the specified Margins for that edge, the control is repositioned and resized, if necessary, to maintain the specified distance. If the Margins control has zero values, RAD Studio uses the default values (Left=4, Top=4, Right=4, Bottom=4). You can also set your own Margins values. It only applies to the IDE control’s guidelines, when you are dragging control. But if you use Align=Client (for example), it will use the specified values in Margins. The following image shows how Padding and Margins properties affect alignment, position, and size of controls.

Type:

Bounds

OnDragDrop

Callable[[Object, DragObject, PointF], None]:

OnDragEnter

Callable[[Object, DragObject, PointF], None]:

OnDragOver

Callable[[Object, DragObject, PointF, DragOperation], None]:

OnPaint

Callable[[Object, Canvas, RectF], None]:

OnPainting

Callable[[Object, Canvas, RectF], None]:

Opacity

Specifies the control opacity. Set Opacity to customize the transparency of the current control. Opacity takes values between 0 and 1. If Opacity is 1, the control is completely opaque; if it is 0, the control is completely transparent. The values over 1 are treated as 1, and the ones under 0 are treated as 0. Opacity applies to the control’s children.

Type:

float

Padding

Aligns the component to the padding points of other components. The Padding of a control specifies how close, in pixels, the control’s children can come to each of its edges (top, left, bottom, right). Padding adds space to the inner side of the control. The control’s children are repositioned and resized, if necessary, to maintain the Padding. If the Padding control has zero values, RAD Studio uses the default values (Left=4, Top=4, Right=4, Bottom=4). You can also set your own Padding values. The following image shows how Padding and Margins properties affect alignment, position, and size of controls.

Note: Padding constraints do not work for TScrollBox, TListBox, TTreeView, and TGrid based controls.

Type:

Bounds

Paint()

Renders the control’s surface. FMX.Objects.TLine.Paint inherits from FMX.Controls.TControl.Paint. All content below this line refers to FMX.Controls.TControl.Paint. Renders the control’s surface. The Paint method is called by DoPaint when a control is being painted by the PaintTo method. Before DoPaint, Painting is called. AfterPaint is called immediately after. FireMonkey internally calls Paint to paint the control when the window is being painted. You must not call Paint explicitly. The base class TControl implements an empty Paint. The descendants of TControl override Paint to provide specific rendering of the respective controls. For example, Paint methods in classes of the FMX.Objects unit draw and fill shapes using the properties defined in these classes. See the descriptions of these classes to find the properties of the respective shapes.

ParentShowHint

If True, the value of the ShowHint property of this control inherits the value of the ShowHint property of the parent control. See Using Hints to Show Contextual Help in a FireMonkey Application - Enabling Hints for a Control for more information.

Type:

bool

PopupMenu

Specifies the context (pop-up) menu object. Use PopupMenu to set the context menu of the current control. The pop-up window is displayed when ShowContextMenu is called.

Type:

CustomPopupMenu

Position

Returns an access to the position of the control inside its parent

PrepareForPaint()

Prepares the current control for painting.

Repaint()

Forces the control to repaint its image on the screen.

ResetFocus()

Removes the focus from a control of from any children of the control.

RotationAngle

Specifies the amount (in degrees) by which the control is rotated from the x-axis. Positive angles correspond to clockwise rotation. For counterclockwise rotation, use negative values. To set the rotation center, use RotationCenter.

Type:

float

RotationCenter

Specifies the position of the pivot point of the control. The coordinates of the rotation center take values in the range from 0 through 1. The point with the coordinates (0,0) corresponds to the upper-left corner of the control, the point with the coordinates (1,1) corresponds to the lower-right corner of the control. The default center of rotation is (0.5, 0.5). Values outside of [0,0] and [1,1] can be clipped in some descendant classes. To set the rotation angle, use RotationAngle.

Type:

Position

Scale

Specifies the scale of the control. Set the Scale coordinates to specify the scale on each axis. The initial scale rate is 1 on each axis.

Note: Controls that have the Align or Anchors properties set can use a scale that is different from the default (1,1), so that controls align together even when they have a custom scale.

Type:

Position

SendToBack()

Puts a windowed control behind all other windowed controls, or puts a non-windowed control behind all other non-windowed controls.

SetBounds(Left, Top, Width, Height)

Sets the Left, Top, Width, and Height properties all at once.

SetFocus()

Gives the input focus to the control.

ShortenLine

Indicates whether to shorten the line. If True, the width of the line is reduced symmetrically by half of the thickness, while the value of Width stays the same.

Type:

bool

ShowHint

Specifies whether the Hint can be shown. If ShowHint is set to True, a Hint string is displayed when the user moves the mouse over the control.

Type:

bool

Size

Specifies the vertical and horizontal size (Size.Height and Size.Width) of the control (in pixels). Use the Size property to read or change the size of the control.

Type:

ControlSize

Stroke

Determines the color and pattern of the drawing pen used to draw lines and shape contours of the graphical primitives. The value of Stroke is an FMX.Graphics.TStrokeBrush object. To customize the outline pen, change the Thickness, Cap, Dash, and Join properties of the TStrokeBrush object.

Type:

StrokeBrush

Visible

Returns/Sets the Control Visibility

Width

Specifies the horizontal size of the control (in pixels). Use the Width property to read or change the width of the control.

Type:

float