ColorPicker

Qualified name: delphifmx.ColorPicker

class ColorPicker

Bases: Control

Represents a color selector that displays the entire color spectrum. A TColorPicker component is a color selector that displays a color spectrum and lets you pick any color by moving a dot-style selector. TColorPicker can be attached to a TColorQuad component.

Note: The TColorPicker (Delphi) example describes how to implement a color picker as shown in the image. See Also FMX.Colors.THueTrackBar FMX.Colors.TColorQuad TColorPicker (Delphi)

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.

PointInObjectLocal

Checks whether the point specified by local coordinates belongs to the control area.

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.

Color

Returns a integer with the color value

ColorQuad

Specifies the TColorQuad component that is attached to this color picker.

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.

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.

Hue

Specifies the color, by hue, from this color picker.

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.

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.

OnCanFocus

Callable[[Object, bool], None]:

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.

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.

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

Color

Returns a integer with the color value

ColorQuad

Specifies the TColorQuad component that is attached to this color picker. Specify a TColorQuad component that is attached to this TColorPicker. In this way, every time you change the Color in this color picker, the color quad component automatically updates to the color selected in the color picker, further allowing you to tweak the saturation and luminance.

In the picture above, a 0.5 alpha channel TColorBox component was also attached to the TColorQuad for a complete color selection application.

Type:

ColorQuad

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

Hue

Specifies the color, by hue, from this color picker. Hue variates from 0 to 1 and spans the entire color spectrum drawn on this color picker. Programmatically set Hue to a specific value, or visually move the hue selector of this color picker, at run time, to obtain the color in the Color property.

Type:

float

IsFocused

Determines whether the control has input focus.

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

OnCanFocus

Callable[[Object, bool], None]:

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

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

PointInObjectLocal(X: float, Y: float) bool

Checks whether the point specified by local coordinates belongs to the control area. FMX.Colors.TColorPicker.PointInObjectLocal inherits from FMX.Controls.TControl.PointInObjectLocal. All content below this line refers to FMX.Controls.TControl.PointInObjectLocal. Checks whether the point specified by local coordinates belongs to the control area. PointInObjectLocal returns True if the specified point belongs to the control area, and False otherwise. The X and Y are the local coordinates of the point to be checked (compare with PointInObject):

X is the X coordinate. Y is the Y coordinate. The local coordinates of the upper-left corner of the control rectangle are (0,0), and the local coordinates of the lower-right corner are (Width, Height). The points of the control boundary specified by BoundsRect belong to the control and PointInObjectLocal returns True for them. If a control supports the Touch property, the control area can be optionally inflated on the values specified by the TouchTargetExpansion property. TouchTargetExpansion keeps four optional parameters representing the expansion for the four sides of the control in pixels (Bottom, Left, Right, and Top). The dclasses can change the ‘control area’ definition. For example:

The FMX.Objects.TSelection class extends the ‘control area’ definition relative to BoundsRect. FMX.Objects.TSelection.PointInObjectLocal also returns True if the point belongs to any of small rectangles of the four grip controls used to manage the selection shape. The rectangles of the grip controls are rectangles surrounding the four corners of the TSelection rectangle. The Width and Height of these rectangles are equal to 2 * GripSize. For example, the grip control’s rectangle of the upper-right corner UR_Corner of TSelection is defined by the following corners: (UR_Corner.Top - GripSize, UR_Corner.Right - GripSize)–upper-left corner of the grip. (UR_Corner.Top + GripSize, UR_Corner.Right + GripSize)–lower-right corner of the grip. FMX.Objects.TSelectionPoint.PointInObjectLocal returns True if the specified point belongs to the rectangle of the grip control corresponding to the TSelectionPoint object, and False otherwise.

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.

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

TabOrder

Indicates the position of the control in its parent’s tab order. TabOrder is the order in which child controls are visited when the user presses the TAB key. The control with the TabOrder value of 0 is the control that has the focus when the form first appears. Initially, the tab order is always the order in which the controls were added to the form. The first control added to the form has a TabOrder value of 0, the second is 1, the third is 2, and so on. Change this by changing the TabOrder property. Each control has a unique tab-order value within its parent. Assigning TabOrder a value greater than the number of controls contained in the parent control moves the control to the end of the tab order. The control does not take on the assigned value of TabOrder, but instead is given the number that ensures that the control is the last in the tab order.

Type:

int

TabStop

Embarcadero Technologies does not currently have any additional information.

Type:

bool

TouchTargetExpansion

Set of optional pixel values you can specify to expand the touch target of a FireMonkey styled control. FMX.Controls.TControl.TouchTargetExpansion is a published property of all FireMonkey styled controls that support Touch. Defined as an FMX.Types.TBounds, TouchTargetExpansion takes four optional parameters representing the expansion of the four sides of the control in pixels (Bottom, Left, Right, Top). Each parameter specifies the size of an additional screen area that is to be treated as part of the touch target of the control. The following figure illustrates how TouchTargetExpansion expands the touch target for a FireMonkey control:

Type:

Bounds

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