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 :

Auto completion pour Combobox


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut Auto completion pour Combobox
    Bonjour

    Avez vous un bout de code ou composant gratuit pour la génération de
    l'Auto completion dans une combobox
    exemple dans une combobox j'ai
    aa1
    aa2
    aa3
    bb1
    bb2
    bb3
    cc1
    cc2
    cc3

    exemple quand je saisie sur la combobox cc1 il ne reste
    plus que la liste avec cc1,cc2,cc3

    voici un bout de code en dessous
    mais quand je tape cc il y a encore dans la listbox
    de aa1 à cc3

    ou alors des combobox qui filtre ?

    bien entendu je ne veux pas passer par une table

    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls;
     
    type
      TForm1 = class(TForm)
        ComboBox1: TComboBox;
        procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure ComboBox1Change(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
      LastKey: Word;
     
    implementation
     
    {$R *.DFM}
     
    procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    LastKey := Key;
    end;
     
    procedure TForm1.ComboBox1Change(Sender: TObject);
    var
      Srch: string;
      ix: Integer;
    begin
      Srch := combobox1.Text;
      if LastKey = $08 then
      begin
        LastKey := 0;
        Exit;
      end;
      LastKey := 0;
      ix := combobox1.Perform(CB_FINDSTRING, - 1, Longint(PChar(Srch)));
      // ici on recharge la listbox
      if ix > CB_ERR then
      begin
        combobox1.ItemIndex := ix;
        combobox1.SelStart  := Length(Srch);
        combobox1.SelLength := (Length(combobox1.Text) - Length(Srch));
      end;
     
      end;
     
     
    end.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 994
    Par défaut
    Je pense qu'en mettant la propriété Style à csDropDown, ça résoudra ton problème

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 094
    Par défaut
    Il me semble que l'auto-complétion était automatique avec AutoComplete à True (cela dépend du Style csDropDown, sinon, il ne recherche que la 1ere lettre)

    Mais attention, cela ne filtre pas !
    Cela positionne sur l'élément le plus ressemblant !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Ajoutons une info en passant : en cherchant autre chose, je viens de dénicher un compo de la JVCL se commant : JvComboEdit.

    Ce dernier possède deux propriétés très intéressantes "AutoCompleteItems" et "AutoCompleteOptions".

    Je n'ai pas cherché à le tester, mais ce compo à cet égard semble pas mal du tout.

    Voilou

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

Discussions similaires

  1. Auto completion pour les facelets xhtml
    Par BugFactory dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 17/09/2009, 10h24
  2. Saisie auto pour combobox
    Par Jeyjey1 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/11/2008, 07h56
  3. Éditeur PHP pour auto-completion PHP5 (objet)
    Par lolymeupy dans le forum Zend
    Réponses: 7
    Dernier message: 14/10/2008, 17h37
  4. Auto-Completion pour un buffer
    Par mick009 dans le forum GTK+ avec C & C++
    Réponses: 22
    Dernier message: 12/11/2007, 16h58
  5. message d' erreur pour l' auto-completion
    Par battle dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 05/02/2007, 10h32

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