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 :

Scroll d'un formulaire : élément qui prend le focus [Android]


Sujet :

Composants FMX Delphi

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 66
    Points : 90
    Points
    90
    Par défaut Scroll d'un formulaire : élément qui prend le focus
    Bonjour,

    Si vous avez déjà essayé de mettre un formulaire un peu long (TComboBox, TEdit...) dans un TVertScrollBox, vous verrez que lorsque l'on cherche à scroller, si l'on pose le doigt sur un control pour démarrer le scroll, celui-là prend le focus ! (et donc le scroll ne fonctionne pas)
    Ca ne semble pas se passer dans les applis non-Delphi.
    Un control ne devrait pas prendre le focus quand on cherche simplement à faire défiler la page, non ?

    Une solution à cela ?

    Merci !

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 66
    Points : 90
    Points
    90
    Par défaut
    Trouvé donc je clos.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 392
    Points : 635
    Points
    635
    Par défaut
    puisque tu as trouvé il me semble important que tu partages la solution pour la prochaine personne qui en aura besoin

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 66
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par exoseven Voir le message
    puisque tu as trouvé il me semble important que tu partages la solution pour la prochaine personne qui en aura besoin
    Alors : mettre tous les TComboBox, TEdit, TMemo, etc... en HitTest := False
    Puis gérer le "tap" dans un événement OnMouseDown de la form principale:
    - déterminer en lisant tous les children de la form (fonction récursives) si la position de la souris se trouve sur un de ces contrôles.
    - garder le pointeur du contrôle
    - puis dans OnMouseUp, passer le Focus ou DropDown, etc. au contrôle, si à ce moment là la souris est au même endroit (avec une marge de 10 pixels quand même)

    Ainsi on peut scroller avec le doigt sans voir des popups de Combobox, TEditDate, etc s'ouvrir de manière intempestive, et faire que ça marche quand même si on veut ouvrir un contrôle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Connaitre l'élément qui a le focus avant un clic bouton
    Par tommyknocker dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 24/07/2012, 03h12
  2. Réponses: 4
    Dernier message: 30/07/2008, 13h46
  3. récupérer le id de l'iframe qui prend le focus
    Par Michel_57 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/06/2008, 05h26
  4. Un bouton qui prend le focus
    Par Ludo_360 dans le forum Delphi
    Réponses: 12
    Dernier message: 28/06/2007, 18h04
  5. Connaitre l'élément qui as le focus
    Par Are-no dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2006, 00h27

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