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 :

Bizarrerie avec TComboBox


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 93
    Par défaut Bizarrerie avec TComboBox
    Bonjour. Je bute depuis ce matin sur un truc bizarre avec un TComboBox contenant N items.
    Je cherche à faire en sorte que l'on fait défiler la sélection dans la ComboBox avec la flèche verticale du clavier, on se repositionne automatiquement sur le premier item lorsqu'on a atteint le dernier.
    J'utilise OnKeyDown avec la ligne suivante :
    If (key=VK_DOWN) and (ComboBox.itemindex=N-1) then comboBox.itemindex:=0.
    Bizarrement, la combobox ne remet pas sur le 1er item mais sur le deuxième.
    Quelqu'un peut-il me donner la solution ?
    Gab

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    il doit manquer un key:=0 permettant d'annuler l'utilisation de la touche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     If (key=VK_DOWN) and (ComboBox.itemindex=N-1) then 
        begin
          comboBox.itemindex:=0;
          Key:=0;
       end;

  3. #3
    Invité
    Invité(e)
    Par défaut
    Comme le dit Sergio il manque le 0.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm2.ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
       if (Key = VK_DOWN) and (ComboBox1.itemindex = ComboBox1.items.Count - 1) then
       begin
          ComboBox1.itemindex := 0;
          Key := 0;
       end
       else if (Key = VK_UP) and (ComboBox1.itemindex = 0) then
       begin
          ComboBox1.itemindex := ComboBox1.items.Count - 1;
          Key := 0;
       end;
    end;

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 93
    Par défaut
    Merci beaucoup.
    C'était trop simple ! Surtout que j'avais déjà rencontré ce genre de remise à zéro de key et je ne m'en suis pas souvenu.
    Bonne soirée
    Gab

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

Discussions similaires

  1. [WIN32][d7] Existance composant (Tmenu couplé avec TComboBox) ?
    Par hepha1970 dans le forum Composants VCL
    Réponses: 0
    Dernier message: 09/12/2007, 14h50
  2. Bizarreries avec mon listener:TNS-12560
    Par pascal_T dans le forum Administration
    Réponses: 4
    Dernier message: 17/04/2007, 10h54
  3. Bizarrerie avec le ET logique (&)
    Par molotov dans le forum C
    Réponses: 16
    Dernier message: 19/03/2007, 00h13
  4. bizarrerie avec l'appel system read sous linux.
    Par Hypnocrate dans le forum C
    Réponses: 20
    Dernier message: 20/11/2005, 02h47
  5. bizarreries avec le port serie
    Par Invité dans le forum MFC
    Réponses: 3
    Dernier message: 20/10/2005, 17h35

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