Combobox Bloquer la saisie d'un texte non present dans la combobox [Résolu]

dimdidi 26 Messages postés mercredi 20 juillet 2005Date d'inscription 18 juillet 2006 Dernière intervention - 13 déc. 2005 à 12:40 - Dernière réponse : sp40 1293 Messages postés mardi 28 octobre 2003Date d'inscriptionContributeurStatut 3 juillet 2015 Dernière intervention
- 15 déc. 2005 à 18:06
Bonjour,

Je voudrais faire une recherche dans une combobox en tapant mon texte au fur et a mesure
(ce qui est fait deja avec style:=csDropDown).
(style:=csDropDownList ne le fait pas)

Mais si la derniere lettre taper donne un texte qui n'existe plus dans ma Combobox, je voudrais annuler la dernier touche saisie ou l'empecher.
On peut savoir si le texte n'existe pas avec ItemIntex=-1

Vu autrement Je ne voudrais empecher un texte qui n'existe pas dans la Combobox

J'espère que c'est assez clair.

Si quelqu'un a une idee !
Merci d'avance.



Dimdidi
Afficher la suite 

Votre réponse

3 réponses

sp40 1293 Messages postés mardi 28 octobre 2003Date d'inscriptionContributeurStatut 3 juillet 2015 Dernière intervention - 15 déc. 2005 à 18:06
+3
Utile
Il faut que tu récupères la touche préssée sur l'événement keydown et
que tu l'ajoutes au texte déjà présent dans le combo. Tu testes ensuite
la chaine ainsi obtenue sur les items du combo. Si elle est présente,
tu accepte la touche, sinon tu l'annules

Simon
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sp40
dominique.stock 446 Messages postés vendredi 7 novembre 2003Date d'inscription 8 octobre 2008 Dernière intervention - 14 déc. 2005 à 10:34
0
Utile
Bonjour,

En vitesse :
Une variable globale Sauv déclaré comme String et:

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if Combobox1.Items.IndexOf(Combobox1.text)=-1 then begin
sauv:=copy(sauv,1,length(sauv)-1);
Combobox1.Text:=sauv;
combobox1.SelStart:=length(sauv);
end;
end;


Procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
sauv:=sauv+char(Key);
end;

Dom
Commenter la réponse de dominique.stock
dimdidi 26 Messages postés mercredi 20 juillet 2005Date d'inscription 18 juillet 2006 Dernière intervention - 15 déc. 2005 à 09:31
0
Utile
Merci pour la réponse, mais ca ne marche pas.

Autrement l'idée est là.


Dimdidi
Commenter la réponse de dimdidi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.