qui peux m'expliquer la commande callback svp
Publié : lun. 18/avr./2005 21:24
bonsoir
qui peux m'expliquer la commande callback svp
merci
qui peux m'expliquer la commande callback svp
merci
Forums PureBasic - Français
http://forums.purebasic.com/french/
Code : Tout sélectionner
....
Pour programmeurs expérimentés seulement. Cette fonction est seulement disponible sous Microsoft Windows. Les évènement classiques devrait toujours être gérés avec les commandes WaitWindowEvent() ou WindowEvent(). Cette commande permet d'accéder directement à la callback utilisé par Windows pour gérér les évènements recus par l'application...
Code : Tout sélectionner
Procedure.l WindowCallBack(WindowID.l, Message.l, wParam.l, lParam.l)
ReturnValue.l = #PB_ProcessPureBasicEvents
;
ReturnValue = PureCOLOR_CallBack(WindowID, Message, wParam, lParam, ReturnValue)
;
ProcedureReturn ReturnValue
EndProcedure
Enumeration
#win_0
EndEnumeration
Enumeration
#nom_joueur
#string_joueur
#bouton_valider
#bouton_annuler
EndEnumeration
Global FontID1
FontID1 = LoadFont(1, "Arial", 12, #PB_Font_Bold)
Global fontID2
fontID2 = LoadFont(2,"arial",11,#pb_font_bold)
Procedure nouveau()
If OpenWindow(#win_0,0,0,300,100,#PB_Window_SystemMenu|#PB_Window_ScreenCentered| ,"Nouveau jeu")
SetWindowCallback(@WindowCallBack())
PureCOLOR_SetWindowColor(#win_1,RGB(9,194,247))
If CreateGadgetList(WindowID())
TextGadget(#nom_joueur, 80, 5,130,20,"Nom du joueur :",#PB_Text_Center)
PureCOLOR_SetGadgetColor(#nom_joueur, RGB(249,37,55),RGB(9,194,247))
SetGadgetFont(#nom_joueur,fontid1)
StringGadget(#string_joueur,25,30,250,25,"")
SetGadgetFont(#string_joueur,fontID2)
ButtonGadget(#bouton_valider,25,65,90,30,"Valider")
SetGadgetFont(#bouton_valider,fontID1)
PureCOLOR_SetButtonColor(#bouton_valider, RGB(249,37,55),RGB(236,233,216))
ButtonGadget(#bouton_annuler,185,65,90,30,"Annuler")
SetGadgetFont(#bouton_annuler,fontID1)
PureCOLOR_SetButtonColor(#bouton_annuler, RGB(249,37,55),RGB(236,233,216))
EndIf
EndIf
EndProcedure
nouveau()
Repeat
event=WaitWindowEvent()
Select event
Case #pb_eventclosewindow
ferme_0=1
EndSelect
Until ferme_0=1
End