[RESOLU] Touche ENTREE (ComboBox)
Publié : mer. 04/déc./2019 22:24
Bonsoir,
J'ai cherché partout, mais en vain. Je ne trouve pas ce que je veux. J'ai une combo éditable et un textGadget. Le gadget Combo contient le nom du client et le TextGadget contient son adresse. Quand on sélectionne un client sur le combo, son adresse est automatiquement affichée sur le champs Adresse (TextGadget). Mais parfois l'utilisateur préfère écrire le nom du client (au lieu de le sélectionner), ma question est la suivante: comment savoir si l'utilisateur a fini de saisir le nom du client (pour que le programme puisse afficher son adresse)?
Merci
J'ai cherché partout, mais en vain. Je ne trouve pas ce que je veux. J'ai une combo éditable et un textGadget. Le gadget Combo contient le nom du client et le TextGadget contient son adresse. Quand on sélectionne un client sur le combo, son adresse est automatiquement affichée sur le champs Adresse (TextGadget). Mais parfois l'utilisateur préfère écrire le nom du client (au lieu de le sélectionner), ma question est la suivante: comment savoir si l'utilisateur a fini de saisir le nom du client (pour que le programme puisse afficher son adresse)?
Merci
Code : Tout sélectionner
Enumeration
#Client_TxtNom
#Client_TxtAd
#Client_Nom
#Client_Ad
EndEnumeration
Global ExitMenu,wrow
Procedure AfficherAdresse()
;code pour afficher l'adresse du client
EndProcedure
ExitMenu=0
OpenWindow(0, 100,100,600,300, "Test", #PB_Window_SystemMenu|#PB_Window_SizeGadget)
wrow=20
TextGadget(#Client_TxtNom,20, wrow, 120, 20, "NOM DU CLIENT:" )
ComboBoxGadget(#Client_Nom, 140, wrow, 200, 20,#PB_ComboBox_Editable | #PB_ComboBox_UpperCase)
wrow=wrow+25
TextGadget(#Client_Txtad,20, wrow, 120, 20, "ADRESSE:" )
StringGadget(#Client_ad, 140, wrow, 200, 20, "",#PB_String_UpperCase)
;---- Pour le test quelques noms
AddGadgetItem(#Client_Nom,-1,"Bernard")
AddGadgetItem(#Client_Nom,-1,"David")
AddGadgetItem(#Client_Nom,-1,"Paul")
;------ cela devrait suffire
Repeat
EventId=WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
ExitMenu=1
EndIf
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Client_nom
If EventType()=768
Debug "l'utilisateur a sélectionné un client ! "
wrow=GetGadgetState(#Client_nom)
Client$=GetGadgetItemText(#Client_nom,wrow)
If Len(Client$)>0 : AfficherAdresse() : EndIf
EndIf
EndSelect
EndIf
Until exitMenu=1
;
End