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

 Delphi Discussion :

Utilisation de la touche entre pour se déplacer sur des composants


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut Utilisation de la touche entre pour se déplacer sur des composants
    salut
    j'ai des composant(TEdit,et TMaskEdit,...) qui ce trouve dans 02 GroupBox . je veut qu'on appuyant sur la touche entre le curseur ce point sur un composant TEdit de l'autre GroupBox.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 733
    Points : 25 641
    Points
    25 641
    Par défaut
    Sur la toucher "Entrer" ?
    Quel Point ?
    Reformule ta question, ...

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Je pense que la question est celle ci :

    J'ai des composants (TEdit,et TMaskEdit,...) qui ce trouvent dans 2 GroupBox . Je veut qu'en appuyant sur la touche entrer, le curseur se pointe/mette sur un composant TEdit de l'autre GroupBox.

    A+

  4. #4
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Alors je te conseille de consulter l'événement OnKeyDown et la méthode FindNextControl

  5. #5
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    ce code me permet de pointer le curseur sur des TEdit du même GroupBox ,mais si le composant TEdit et dans l'autre GroupBox sa ne marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if Key=#13 Then
        begin
        FindNextControl(ActiveControl, True, false, false).SetFocus;
        Key:=#0;
        end;
    est ce qu'il y a des modifications sur ce code ,pour que sa marche sur des composant TEdit d'un autre GroupBox?

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Quel est concrétement ton soucis? Si je comprends bien, tu as 2 groupbox qui contiennent des TEdits. A chaque appuies sur la touche Entrer dans un TEdit, on doit passer au TEdit suivant. Tu souhaites faire en sorte que lorsque l'on est dans le dernier TEdit du GroupBox1, que l'on passe dans le premier TEdit du groupBox2 en appuyant sur Entrer, c'est ça ?

    Merci

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    @sjrd
    La méthode FindNextControl de TWinControl n'est-elle pas une méthode protégée ?

    @+

  8. #8
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    oui c'est exactement ce que je veut ero-sennin.

  9. #9
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Pour faire simple, il te suffit de mettre une seule ligne de code dans le dernier TEdit dans l'événement OnKeyPress pour dire que l'on change de GroupBox (je reste sur l'idée de mon Post Précédent avec changement de GroupBox lorsque l'on appuie sur la touche Entrer du dernier TEdit du GroupBox1).

    Il te suffit de mettre ceci pour le dernier TEdit du GroupBox1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key=#13 Then
      begin
        // On Change de GroupBox...
        Form1.ActiveControl:=GroupBox2;
        // On prends le premier Control se trouvant dans le GroupBox
        FindNextControl(ActiveControl, True, false, false).SetFocus;
        Key:=#0;
      end;
    end;
    J'espère que celà t'aidera.
    A+

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 733
    Points : 25 641
    Points
    25 641
    Par défaut
    Il faut mettre les TabOrder dans l'ordre souhaité puis lancé simplement dans un OnKeyDown ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PostMessage(Screen.ActiveForm.Handle, WM_NEXTDLGCTL, 0, 0);
    Pour les TabOrder, il faut mettre 0, 1, 2 ... pour chaque GroupBox, puis pour chaque bouton, mettre aussi 0, 1, 2 ... les index étant indépendant entre chaque container ...

  11. #11
    Membre régulier
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Points : 94
    Points
    94
    Par défaut
    merci ero-sennin s'a bien marche, et je vais essayer la solution de ShaiLeTroll pour voir aussi.

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

Discussions similaires

  1. Utilisation de la touche Entrée
    Par bruce207 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/05/2008, 22h20
  2. touche 'entré' pour submit, liste deroulante
    Par Azilal dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/04/2008, 16h23
  3. Touche Entrée pour valider
    Par sly60 dans le forum Débuter
    Réponses: 2
    Dernier message: 30/01/2008, 17h17
  4. [WebForms]Comment utiliser la touche entrée pour valider un formulaire ?
    Par yonialhadeff dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 10/05/2006, 13h29
  5. [Debutant] Utilisation de la touche "Entrée"
    Par Dextro dans le forum Composants
    Réponses: 2
    Dernier message: 28/04/2005, 10h42

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