J'ai rien compris au "SetWindowCallback"
Publié : lun. 28/août/2006 21:37
Bonjour
Pour changer le fond d'un StringGadget afin qu'il soit de couleur, j'utilise la fonction SetWindowCallback.
Cela marche mais le probleme c'est que le stringadget de l'autre page prend le fond de la meme couleur.
J'ai vraiment rien compris a cette fonction.
Comment peut on faire pour reinitialiser les autres fonds de textegadget.
Si quelqu'un connait un tuto ou on explique simplement le fonctionnement de cette instruction ce serait gentil de me donner le lien.
Encore merci.
Pour changer le fond d'un StringGadget afin qu'il soit de couleur, j'utilise la fonction SetWindowCallback.
Code : Tout sélectionner
Enumeration
#window
#window2
#Texte
#Texte2
EndEnumeration
Global FontID1
Global background, textground
FontID1 = LoadFont(1, "Comic Sans MS", 26)
background = CreateSolidBrush_($18F4E7)
Textground = CreateSolidBrush_($18F4E7)
Procedure myCallback(WindowID, Message, wParam, lParam) ; for coloring as well
Resultat = #PB_ProcessPureBasicEvents
If Message = #WM_CTLCOLOREDIT
SetTextColor_(wParam, $031A19)
SetBkMode_(wParam,#TRANSPARENT)
Resultat = textground
EndIf
ProcedureReturn Resultat
EndProcedure
OpenWindow(#window, 399, 297, 640, 180, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Fenetre 1")
CreateGadgetList(WindowID(#window))
StringGadget(#Texte, 20, 20, 600, 100, "", #PB_String_BorderLess)
SetGadgetFont(#Texte, FontID1)
SetClassLong_(WindowID(#window), #GCL_HBRBACKGROUND, background)
InvalidateRect_(WindowID(#window), #Null, #True)
SetWindowCallback(@myCallback())
SetGadgetText(#Texte,"Essais")
OpenWindow(#window2, 99, 97, 40, 80, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Fenetre 2")
CreateGadgetList(WindowID(#window2))
StringGadget(#Texte2, 20, 20, 600, 100, "", #PB_String_BorderLess)
SetGadgetText(#Texte2,"Essais")
Repeat
Event = WaitWindowEvent()
Until Event = #PB_EventCloseWindow
End
J'ai vraiment rien compris a cette fonction.
Comment peut on faire pour reinitialiser les autres fonds de textegadget.
Si quelqu'un connait un tuto ou on explique simplement le fonctionnement de cette instruction ce serait gentil de me donner le lien.
Encore merci.