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 VCL Delphi Discussion :

Comment changer de focus avec les flèches du clavier ?


Sujet :

Composants VCL Delphi

  1. #1
    Membre habitué

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Points : 175
    Points
    175
    Par défaut Comment changer de focus avec les flèches du clavier ?
    Bonjour,

    Je souhaite gérer le changement de focus avec les flèches du clavier.

    Exemple :
    J'ai 12 TButton sur une Tform (4 en haut, 4 au milieu et 4 en bas).

    Bien entendu je ne souhaite pas coder chaque OnkeyDown de chaque bouton et faire des cas spécif comme ceci :

    Si Fleche Droite sur le Bouton1, alors je passe au Bouton2 qui est à droite.
    Si Fleche Bas sur le Bouton2, alors je passe au Bouton6 qui est en dessous du Bouton2

    Existe t-il une méthode sans coder chaque cas de figure car ça serait l'usine si j'avais énormément de boutons ?

    Merci beaucoup.

  2. #2
    Membre habitué

    Inscrit en
    Février 2005
    Messages
    356
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 356
    Points : 175
    Points
    175
    Par défaut
    La seule méthode est de coder une procédure commune :

    En parcourant les composants focusable.

    Si appuie sur la touche droite, je recherche le composant qui est à droite de celui qui a le focus actuellement sinon le 1er à gauche
    Etc. pour les autres touches...

    Pas de meilleur gestion ?

  3. #3
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    tu mets la propriété KeyPreview de ta From à True, puis dans le OnKeyDown de cette From, tu gère le ActiveControl

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    Si tu places tes boutons sous (voire sur) une DrawGrid, elle dispose pê des méthodes pour trouver la cellule cliquée <=> le bouton, permettant une gestion plus facile.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/02/2020, 19h57
  2. Comment deplacer une fiche avec les flèches
    Par DelphiCool dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 03/02/2013, 11h27
  3. basculer entre les champs de texte avec les flèches du clavier
    Par limy9 dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 24/01/2011, 15h49
  4. Problème de coordonnées lors du Scroll avec les flèches du clavier
    Par nicknolt dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 09/03/2010, 00h09
  5. changer la langue avec les raccourcis de clavier
    Par cherifa_m dans le forum Debian
    Réponses: 3
    Dernier message: 30/05/2008, 16h42

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