EsialMickey
Messages postés8Date d'inscriptionmardi 6 juillet 2004StatutMembreDernière intervention 2 août 2004
-
6 juil. 2004 à 11:45
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 2006
-
6 juil. 2004 à 12:30
Bonjour a tous,
je cherche le moyen de selectionner une ligne de ma zone de liste dont le premier élément est connu :
La liste contient pour chaque ligne :"idPersonne" et "nom"
et j'aimerai selectionner la ligne qui a pour idPersonne 8 par exemple.
Je n'ai pas encore trouvé comment faire
merci pour vos suggestions
ldx
Messages postés23Date d'inscriptionjeudi 29 avril 2004StatutMembreDernière intervention 3 mai 2005 6 juil. 2004 à 12:27
LDX
s'il s'agit dune listbox, tu peux effectuer une recherche "exacte" ou approximative comme suit :
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'*** Constantes permettant de rechercher un élément dans une Liste ***
Private Const LB_FINDSTRING = &H18F
Private Const LB_FINDSTRINGEXACT = &H1A2
puis dans ta proc ...
dim NumItemListe as long
NumItemListe = (SendMessage(Nom de ta Listbox.hwnd, LB_FINDSTRINGEXACT, -1, ByVal Chaîne contenant ce que tu recherches))
NumItemListe te donnera si...
- tu as choisi LB_FINDSTRING : le N° d'item de la première occurence trouvée
- tu as choisi LB_FINDSTRINGEXACT : Le N° Item "exact" de l'objet recherché
Si tu veux faire la même chose avec un combobox il te faut les constantes suivantes :
Public Const CB_FINDSTRING = &H14C
Public Const CB_FINDSTRINGEXACT = &H158
...
(va voir dans WIN32API, les constantes LB_ et CB_ ...) tu auras plein d'autres possibilités (ajout, suppression, ...)