Comment rechercher rapidement un élément dans une ListBox ou un ComboBox ?Pour trouver rapidement un élément dans une ListBox ou une ComboBox, pas d'autre choix avec les méthodes classiques que de parcourir un par un tous les éléments du contrôle. Ceci peut pourtant être bien utile, pour positionner automatiquement l'index de la ListBox ou de la ComboBox à une position voulue, en fonction par exemple des premières lettres du mot. Il y a en revanche une solution très simple et très efficace pour réaliser cette recherche rapide, en utilisant la fonction SendMessage pour envoyer au contrôle le message approprié. L'exemple suivant montre comment réaliser une telle fonction de recherche avec une ListBox. Il est très facile de faire de même avec une ComboBox, le fonctionnement étant 100% identique. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ' Pour faire de même avec une ComboBox, il suffit d'utiliser les messages CB_FINDSTRING et CB_FINDSTRINGEXACT. Pour aller plus loin
Voir aussi : |
Date de publication : 25 février 2007 Dernière modification : 06 mars 2008 Rubriques : API, Contrôles Mots-clés : ListBox, List Box, ComboBox, Combo Box, rechercher, recherche, rapide, messages, LB_FINDSTRING, LB_FINDSTRINGEXACT, optimisation, SendMessage, API |