je viens encore vers vous pour solliciter votre savoir et votre aide bienveillante.
Dans le cadre de mes programmes ludiques et éducatifs pour mes petits enfants, je souhaiterais que quand ils cliquent sur le bouton "Vérifier", le système reconnaisse le gadget qui à changé et non le fameux bouton, mais je ne m'en sors pas, peut-être que je n'utilises pas la bonne méthode, je suis ouvert à toutes vos propositions et je vous en remercie par avance.
Code : Tout sélectionner
#Nb_Questions = 1 ;les tableaux commencent à 0
Enumeration Fenetres
#Fenetre_Principale
EndEnumeration
Enumeration Gadgets
#Cmb_0
#Cmb_1
#Txt_0
#Txt_1
#Btn_Quitter
#Btn_Verifier
EndEnumeration
; Images incluses
DataSection
IconeFenetre:
IncludeBinary "D:\Programmation\Prg Perso\Gfx\icones\Conjugeur.ico"
EndDataSection
; Chargement des décodeurs d'images
UsePNGImageDecoder()
Structure Jeu
Points.i
C0.b
C1.b
EndStructure
Global Dim Question.s(#Nb_Questions), Dim BonneReponse.s(#Nb_Questions), Dim Reponses.s(((#Nb_Questions + 1) * 3) - 1)
Global Evenement, EvenementFenetre, EvenementGadget, NbPoints.Jeu, Verif.Jeu, i, ID
NbPoints\Points = 0
Verif\C0 = 0
Verif\C1 = 0
Procedure AjouterIconeFenetre(WinID, IconID)
SendMessage_(WinID,#WM_SETICON,#False,IconID)
EndProcedure
Procedure Initialisation()
Restore Debut
For i = 0 To #Nb_Questions
Read.s Question(i)
Read.s BonneReponse(i)
Next i
For i = 0 To ArraySize(Reponses())
Read.s Reponses(i)
Next i
EndProcedure
Procedure Verifier()
;ID = GadgetID(#Cmb_0)|GadgetID(#Cmb_1)
;Select ID
; Case #Cmb_0
If Verif\C0 = 0
If GetGadgetText(#Cmb_0) = BonneReponse(0)
Debug "Félicitations"
Verif\C0 = 1
Else
Debug "Réfléchis encore !"
EndIf
EndIf
; Case #Cmb_1
If Verif\C1 = 0
If GetGadgetText(#Cmb_1) = BonneReponse(1)
Debug "Félicitations"
Verif\C1 = 1
Else
Debug "Réfléchis encore !"
EndIf
EndIf
;EndSelect
EndProcedure
Procedure Quitter()
CloseWindow(#Fenetre_Principale)
End
EndProcedure
Procedure Ouvrir_Fenetre_Principale()
OpenWindow(#Fenetre_Principale, 420, 100, 350, 175, "Petit QCM", #PB_Window_ScreenCentered)
AjouterIconeFenetre(WindowID(0), CatchImage(1, ?IconeFenetre) )
; Gadgetlist
TextGadget(#Txt_0, 15, 15, 245, 25, Question(0))
ComboBoxGadget(#Cmb_0, 255, 8, 71, 25)
AddGadgetItem(#Cmb_0, 0, Reponses(0))
AddGadgetItem(#Cmb_0, 1, Reponses(1))
AddGadgetItem(#Cmb_0, 2, Reponses(2))
TextGadget(#Txt_1, 15, 45, 245, 25, (Question(1)))
ComboBoxGadget(#Cmb_1, 255, 38, 71, 25)
AddGadgetItem(#Cmb_1, 0, Reponses(3))
AddGadgetItem(#Cmb_1, 1, Reponses(4))
AddGadgetItem(#Cmb_1, 2, Reponses(5))
ButtonGadget(#Btn_Verifier, 15, 130, 120, 25, "Vérifier")
ButtonGadget(#Btn_Quitter, 200, 130, 120, 25, "Quitter")
BindGadgetEvent(#Btn_Verifier, @Verifier())
BindGadgetEvent(#Btn_Quitter, @Quitter())
EndProcedure
Initialisation()
Ouvrir_Fenetre_Principale()
Repeat
Evenement = WaitWindowEvent()
Select Evenement
; +++++++++++++++++++++++++++++++++++
Case #PB_Event_Gadget
EvenementGadget = EventGadget()
; Gadget
If EvenementGadget = #Btn_Verifier
ElseIf EvenementGadget = #Btn_Quitter
EndIf ; Fin EvenementGadget
; +++++++++++++++++++++++++++++
; Fenetres
Case #PB_Event_CloseWindow
EvenementFenetre = EventWindow()
If EvenementFenetre = #Fenetre_Principale
CloseWindow(#Fenetre_Principale)
Break
EndIf ; Fin EvenementFenetre
; +++++++++++++++++++++++++++++
EndSelect
ForEver
End
DataSection
Debut:
Data.s "Quelle est la couleur du cheval blanc d'Henri IV ?", "Blanc", "Qu'est-ce qui est plus fort qu'un turc ?", "Deux turcs"
Data.s "Blanc", "Noir", "Alezan", "Un grec", "Un autre turc", "Deux turcs"
EndDataSection