Contrôles Windows natifs de FireMonkey
Remonter à Contrôles natifs de FireMonkey
Cette rubrique décrit les contrôles Windows natifs de FireMonkey.
Sommaire
- 1 Présentation des contrôles Windows natifs de FireMonkey
- 2 Contrôles Windows natifs de FireMonkey disponibles
- 3 Changements visuels des contrôles Windows natifs
- 4 Ajout de contrôles Windows natifs à votre application
- 5 Combinaison de contrôles Windows natifs et de contrôles non natifs
- 6 Avantages des contrôles Windows natifs
- 7 Limitations des contrôles Windows natifs
- 8 Voir aussi
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 :
- TEdit
- TMemo
- TPresentedScrollBox
- TPresentedVertScrollBox
- TPresentedHorzScrollBox
- TPresentedFramedScrollBox
- TPresentedFramedVertScrollBox
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
| |
Ajout de contrôles Windows natifs à votre application
Pour ajouter des contrôles Windows natifs à votre application :
- Déposez sur la fiche un composant prenant en charge la présentation native (listes des contrôles pris en charge).
- 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). - 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 :
Edit1.ControlType := TPresentedControl.TControlType.Platform;
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 :
- TMultiView
- TButton
- TSpeedButton
- TColorButton
- TCornerButton
- TPopupBox
- TMagnifierGlass
- TPanel
- TLabel
- TCheckBox
- TRadioButton
- TGroupBox
- TStatusBar
- TToolBar
- TProgressBar
- TTrackBar
- TListView
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 )
|
---|---|---|
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
- Contrôles natifs de FireMonkey
- Contrôles iOS natifs de FireMonkey
- TPresentedControl.ControlType
- Personnalisation de l'apparence de la vue liste FireMonkey
Exemples
- Exemple FireMonkey Native Controls