From RAD Studio API Documentation
Jump to: navigation, search


property ControlType: TControlType read FControlType write SetControlType default TControlType.Styled;


__property Fmx::Controls::TControlType ControlType = {read=FControlType, write=SetControlType, default=0};


Type Visibility Source Unit Parent
property public
FMX.Controls.Presentation TPresentedControl


Specifies the presentation type of the control.

The values of ControlType are:

  • Styled represents the standard FireMonkey styling. This is the default value.
  • Platform represents the native styling of the target platform.
Note: iOS is currently the only platform that supports native controls. The value of ControlType property on any other platform does not have any effect.

Available FireMonkey Native iOS Controls

For a complete list of native controls, see Available FireMonkey Native iOS Controls.

Advantages and Limitations

There are some advantages and limitations that you need to consider when using native controls. For example, there are some event handlers that are not supported on native controls. See Limitations of Native iOS Controls for more details. On the other hand, the native presentation of TEdit and TMemo supports additional functionality, such as auto-completion and spell-checking. See Advantages of the Native iOS Controls for more details.

Combining Native Controls With Non-native Controls

There are several non-native controls that have the ControlType property. If you set the ControlType property of non-native controls to Platform, you may still apply FireMonkey styling to them. The ControlType property of non-native controls allows you to combine them with native controls. See FireMonkey Native iOS Controls - Combining Native iOS Controls With Non-native Controls for more details.


The following code snippets shows how to change the value of the ControlType property of a TCalendar component:


Calendar1 : TCalendar;
Calendar1.ControlType := TControlType.Platform;


TCalendar *Calendar1;
Calendar1->ControlType = TControlType::Platform;

Alternatively, you may change the value of the ControlType property in the Object Inspector Properties.

See Also