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
| Void semiauto()
{
i = 0;
//Récupération du mot saisie
SendMessage(Macombo,WM_GETTEXT,sizeof saisie,(LPARAM) saisie);
// on compte le nombre d'éléments présent dans la combo
LRESULT Nbelement = SendMessage(Macombo,CB_GETCOUNT, ,0,0);
// on cherche une correspondance entre le mot saisie et les mot de la combo
LRESULT Trouve = SendMessage(Macombo,CB_FINDSTRING,-1,(LPARAM)saisie);
//on ajoute tous les mots correspondant a la suite de la combo
While (Trouve <= Nbelement && Touve != CB_ERR)
{
SendMessage(Macombo,WM_GETTEXT, sizeof Temp,(LPARAM) Temp);
SendMessage(Macombo,CB_ADDSTRING,0,(LPARAM) Temp);
//on cherche dans la combo un autre mot correspondant a notre saisie a partir de l'indice du dernier mot trouvé.
Trouve = SendMessage(Macombo,CB_FINDSTRING,Trouve,(LPARAM)saisie);
}
// suppression des autre elements de la combo
while(i<=Nbelement)
{
SendMessage(Macombo,CB_DELETSTRING,i,0);
}
// on remet le mot saisie par l'utilisateur
SendMessage(Macombo,CB_SETEDITSEL,0, (LPARAM) edit);
}
Edit, saisie et temp sont déclaré plus haut dans ma fonction.
Edit correspond a la zone de text de ma combo
saisie le mot saisie par l'utilisateur
Temp le mot trouvé a ajouter dan la liste
Merci de votre aide pour avancer dans cette saisie semi-auto
PS : Désolé si il y a d faute de syntaxe je n'ai pas fait un copier coller donc le probleme ne vient pas d'un point virgule ou autre erreur du style. |
Partager