ComboBoxGadget

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Nialab
Messages : 4
Inscription : mar. 22/avr./2025 8:07

ComboBoxGadget

Message par Nialab »

Bonjour,
Je n'arrive pas à récupérer la valeur ou l'index d'une donnée dans un ComboBoxGaget lorsque je sélectionne à la souris une ligne de la liste du combo

ComboBoxGadget( #Combo1, 100, 100, 150, 50)
AddGadgetItem( #Combo1, -1,"DATA1" )
AddGadgetItem( #Combo1, -1,"DATA2" )
AddGadgetItem( #Combo1, -1,"DATA3" )
;Selection à la souris, DATAx apparait bien dans la fenêtre du combo mais
Selec = GetGadgetState(#Combo1)
data$ = GetGadgetText(#Combo1)

Selec reste à -1 et data$ à ""

Merci pour votre aide.
Marc56
Messages : 2196
Inscription : sam. 08/févr./2014 15:19

Re: ComboBoxGadget

Message par Marc56 »

Nialab a écrit : lun. 12/mai/2025 19:59 Bonjour,
Je n'arrive pas à récupérer la valeur ou l'index d'une donnée dans un ComboBoxGaget lorsque je sélectionne à la souris une ligne de la liste du combo

ComboBoxGadget( #Combo1, 100, 100, 150, 50)
AddGadgetItem( #Combo1, -1,"DATA1" )
AddGadgetItem( #Combo1, -1,"DATA2" )
AddGadgetItem( #Combo1, -1,"DATA3" )
;Selection à la souris, DATAx apparait bien dans la fenêtre du combo mais
Selec = GetGadgetState(#Combo1)
data$ = GetGadgetText(#Combo1)

Selec reste à -1 et data$ à ""

Merci pour votre aide.
Bonsoir,

GetGadgetText retourne le texte des gadgets n'ayant qu'un seul texte.
GetGadgetItemText() Retourne le texte des gadgets ayant plusieurs éléments.
GetGadgetState() Retourne le numéro d'index (premier = zéro)
Il faut les deux (...Item... + ...State...) pour sélectionner un élément.

GetGadgetState() retourne différentes informations selon le gadget (voir l'aide)

Code : Tout sélectionner

EnableExplicit

Enumeration 
    #Win
    #Combo
EndEnumeration

OpenWindow(#Win, 0, 0, 270, 180, "ComboBoxGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)

ComboBoxGadget(#Combo, 10, 70, 250, 21)


AddGadgetItem(#Combo, -1, "Data1")
AddGadgetItem(#Combo, -1, "Data2")
AddGadgetItem(#Combo, -1, "Data3")

Repeat
    Select WaitWindowEvent()
        Case #PB_Event_CloseWindow 
            End
            
        Case #PB_Event_Gadget
            If EventGadget() = #Combo
                SetWindowTitle(#Win,
                               "N° " + GetGadgetState(#Combo) + 
                               " : " + GetGadgetItemText(#Combo, GetGadgetState(#Combo) ) )
            EndIf
    EndSelect
ForEver

End
Nialab
Messages : 4
Inscription : mar. 22/avr./2025 8:07

Re: ComboBoxGadget

Message par Nialab »

Un grand merci, je découvre PB depuis peu et je le trouve vraiment extra, ça me rajeunit de quelques décennies et j'en ai marre des do try catch de Swift et des Objets :? à n'en plus finir et en plus s' il y a un forum d'aide avec une telle réactivité !!! Bravo et merciiiiiii
Bonne soirée
Répondre