IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants FMX Delphi Discussion :

[Delphi 10] OnTap sur un composant génère un clic sur un sous-composant


Sujet :

Composants FMX Delphi

  1. #1
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    mai 2002
    Messages
    2 614
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2002
    Messages : 2 614
    Points : 6 147
    Points
    6 147
    Par défaut [Delphi 10] OnTap sur un composant génère un clic sur un sous-composant
    J'ai cet empilement d'éléments :
    - une TForm (avec tout plein de composants dessus).
    - parent d'une TFrame.
    - parent d'un TRectangle (clavier).
    - parent d'un TRectangle (bouton).

    Avec la souris, un clic sur le TRectangle (bouton) déclenche son OnMouseDown : tout marche bien.

    En tactile, un appui sur le TRectangle (bouton) déclenche son OnTap, ET déclenche un clic sur le composant qui se trouve à cette position sur la TForm (donc, loin en dessous).
    C'est comme si mon doigt traversait toutes les couches de composants pour cliquer sur un composant de la TForm.
    Comment est-ce possible ?
    Et surtout, comment l'empêcher ?

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. Écrivez dans un français correct !!

    Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise
    OpenGL 2.1 - Oracle 10g - Interbase (7 - XE) - PostgreSQL 11.6

  2. #2
    Membre régulier Avatar de Coudrak
    Profil pro
    Inscrit en
    avril 2002
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2002
    Messages : 64
    Points : 85
    Points
    85
    Par défaut
    Essaie de mettre la propriété HitTest du parent à False.
    En tout cas je pense que c'est du côté de cette propriété qu'il faut chercher.

  3. #3
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    mai 2002
    Messages
    2 614
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2002
    Messages : 2 614
    Points : 6 147
    Points
    6 147
    Par défaut
    J'ai vérifié les HitTest, et ils sont bien à False sauf pour le TRectangle (bouton) sur lequel je clique, et les divers composants sur la TForm.

    Citation Envoyé par Aide delphi
    Spécifie si ce contrôle capture les événements de clic de la souris.

    Si vous définissez HitTest sur True, ce contrôle capture tous les événements OnClick et OnDblClick de la souris.
    Si vous définissez HitTest sur False, ces deux événements de clic de la souris passent par ce contrôle, afin qu'un contrôle derrière ce contrôle reçoive les événements de la souris à la place de celui-ci.
    Si je comprend bien, le premier composant rencontré ayant le HitTest à True (en remontant la chaine des parents) va capturer et gérer le clic. Ce qui devrait vouloir dire que ça s'arrête là, non ?
    Par contre, l'évènement OnTap n'est pas cité. Je ne sais pas ce qu'il faut en conclure ...

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. Écrivez dans un français correct !!

    Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise
    OpenGL 2.1 - Oracle 10g - Interbase (7 - XE) - PostgreSQL 11.6

Discussions similaires

  1. Boucle sur formulaire de simulation de clic sur bouton
    Par arnolano0 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/02/2010, 10h34
  2. Clic sur un iframe ne marche que sur les bords
    Par Dayren dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/03/2008, 15h29
  3. Réponses: 1
    Dernier message: 15/05/2006, 12h28
  4. [GD] Enregistrer une image générée par PHP sur disque dur
    Par Alex01 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/05/2006, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo