Contrôles Windows natifs de FireMonkey

De RAD Studio
Aller à : navigation, rechercher

Remonter à Contrôles natifs de FireMonkey


Cette rubrique décrit les contrôles Windows natifs de FireMonkey.

Présentation des contrôles Windows natifs de FireMonkey

FireMonkey fournit une présentation native pour certains composants visuels.

  • Définissez la propriété ControlType sur Styled pour avoir la présentation FireMonkey standard du contrôle. Styled est la valeur par défaut de ControlType.
  • Définissez la propriété ControlType sur Platform pour avoir le style natif de ce contrôle.

Contrôles Windows natifs de FireMonkey disponibles

La liste suivante contient tous les contrôles prenant en charge la présentation native :

Changements visuels des contrôles Windows natifs

Lorsque la propriété ControlType d'un composant visuel est définie sur Platform, la présentation de ce contrôle dans le Concepteur de fiches change pour indiquer qu'il s'agit d'un contrôle natif et une icône représentant un petit téléphone apparaît dans l'angle inférieur droit. Les images suivantes montrent l'apparence des contrôles Windows natifs avec la propriété ControlType définie sur Styled et Platform, à la conception et à l'exécution :

Contrôle A la conception A l'exécution
Styled Platform Styled Platform

TEdit

TEditStyled DT win.png

TEditPlatform DT win.png

TEditStyled RT win.png

TEditPlatform RT win.png

TMemo

TMemo Styled DT win.png

TMemo Platform DT win.png

TMemo Styled RT win.png

TMemo Platform RT win.png

TPresentedScrollBox

TPresentedScrollBox Styled DT.png

TPresentedScrollBox Platform DT.png

TPresentedScrollBox Styled RT win.png

TPresentedScrollBox Platform RT win.png

Ajout de contrôles Windows natifs à votre application

Pour ajouter des contrôles Windows natifs à votre application :

  1. Déposez sur la fiche un composant prenant en charge la présentation native (listes des contrôles pris en charge).
  2. Dans l'inspecteur d'objets, sous Propriétés, définissez la propriété ControlType sur Platform. A la conception, la présentation du composant change (voir Changements visuels des contrôles Windows natifs).
  3. Exécutez votre application.

Sinon, vous pouvez changer la valeur de ControlType à l'exécution. Pour sélectionner la présentation native pour un contrôle TEdit, ajoutez le code suivant à votre application :

Delphi :
Edit1.ControlType := TPresentedControl.TControlType.Platform;
C++ :
Edit1->ControlType = TPresentedControl::TControlType::Platform;

Combinaison de contrôles Windows natifs et de contrôles non natifs

Il n'est pas recommandé de combiner des contrôles non natifs avec des contrôles natifs, car ces derniers ne prennent pas en charge l'ordre Z de la fiche : un contrôle natif est toujours placé au-dessus des autres contrôles sur votre fiche. Toutefois, il existe des contrôles non natifs que vous pouvez combiner avec des contrôles natifs, car ils prennent en charge l'ordre Z des contrôles natifs.

La liste suivante contient tous les contrôles ayant la propriété ControlType et pouvant donc être combinés avec des contrôles natifs :

La liste suivante contient tous les contrôles n'ayant pas la propriété ControlType mais pouvant également être combinés avec des contrôles natifs :

Avantages des contrôles Windows natifs

Certains contrôles prennent en charge une fonctionnalité supplémentaire lorsque vous les utilisez comme contrôles natifs :

TMemo et TEdit

  • Eléments supplémentaires du menu contextuel :
    • Annuler : annule la dernière action.
    • Ordre de lecture de droite à gauche : change l'ordre de lecture et justifie le texte sur le côté droit du contrôle. Voir la documentation Microsoft - To set right-to-left reading order (EN) pour plus d'informations.
    • Afficher les caractères de contrôle Unicode : affiche les caractères de contrôle Unicode.
    • Insérer un caractère de contrôle Unicode : insère un caractère de contrôle Unicode.
    • Ouvrir IME : IME désigne Microsoft Global Input Method Editor. Il permet la saisie de caractères japonais, chinois et coréens dans les applications les prenant en charge sur d'autres versions de Windows.

Les fonctionnalités ci-dessus sont fournies dans le menu contextuel du contrôle. Le menu contextuel du contrôle mémo ou du contrôle d'édition est donc différent pour Styled et Platform :

Contrôle Menu contextuel (Styled) Menu contextuel (Plateform)

TMemo

TMemo ContextMenu Styled RT win.png

TMemo ContextMenu Platform RT win.png

TEdit

TEdit ContextMenu Styled RT win.png

TEdit ContextMenu Platform RT win.png

Limitations des contrôles Windows natifs

Avant d'utiliser les contrôles natifs, pensez aux limitations suivantes :

  • Les contrôles natifs ne prennent pas en charge les styles personnalisés ou prédéfinis. Lorsque la propriété ControlType d'un contrôle natif est définie sur Platform, la valeur de la propriété StyleLookup est ignorée.
  • La prise en charge de l'arrière-plan transparent par les contrôles natifs est limitée. Les contrôles transparents ne sont pas peints correctement.
  • Les contrôles natifs ne prennent pas en charge l'ordre Z de la fiche : un contrôle natif est toujours placé au-dessus des autres contrôles FireMonkey disponibles sur votre fiche. Voir Combinaison de contrôles Windows natifs et de contrôles non natifs pour plus d'informations.
  • Les gestionnaires d'événement suivants ne sont pas pris en charge et ne peuvent pas être implémentés :
  • Les événements suivants se produisent mais vous ne pouvez pas les utiliser comme attendu (pour redéfinir la visualisation du contrôle). Cependant, vous pouvez les utiliser comme indication du moment auquel le système repeint le contrôle :

Il existe également des limitations spécifiques aux contrôles :

TMemo

L'événement suivant n'est pas pris en charge et ne peut pas être implémenté dans TMemo :

TMemo et TEdit

La définition de valeurs de paramètre dans le gestionnaire d'événement OnKeyXX ne supprime pas la saisie au clavier. Par exemple, si vous définissez KeyChar := #0; dans le gestionnaire d'événement OnKeyDown puis appuyez sur la touche s, la présentation native produit toujours le résultat s, alors que la présentation stylée ne produit aucun résultat.

La limitation ci-dessus s'applique aux gestionnaires d'événement suivants :

Les événements suivants ne sont pas pris en charge et ne peuvent pas être implémentés dans TMemo et TEdit :

  • OnValidate
Remarque : L'événement OnValidating se produit dans FireMonkey et dans la présentation native de TMemo et TEdit.

Voir aussi

Exemples