ContainerGadget avec Dégradé, possible?
ContainerGadget avec Dégradé, possible?
Bonjour tout le monde,
Je me demande si est possible de modifier le « style » d’un ContainerGadget, j’entend par la mettre le design que l’on veut par exemple un dégradé de couleurs ?
Si cela n’est pas possible y a-t-il une autre solution pour faire ce que je désire faire ?
Merci d’avance,
GallyHC
Je me demande si est possible de modifier le « style » d’un ContainerGadget, j’entend par la mettre le design que l’on veut par exemple un dégradé de couleurs ?
Si cela n’est pas possible y a-t-il une autre solution pour faire ce que je désire faire ?
Merci d’avance,
GallyHC
Code : Tout sélectionner
OpenWindow(0,0,0,640,480,"STYLE...")
CreateImage(0,256,64)
ImageGadget(0,320-128,200,256,64,ImageID(0),#PB_Image_Border )
Repeat
event = WindowEvent()
Min=0 ; on s'en fou ici
Max=1000 ; Valeur maximum du progressbar
Value.f = 500 + 500 * Cos(ElapsedMilliseconds()/1000) ; Valeur du progressbar
StartDrawing(ImageOutput(0))
Box(0,0,256,64,$CACACA)
; Produit en croix
Current_Value = Value * 256 / Max ; Calcul de la taille a afficher par rapport à l'echelle (256 pixels)
For i = 0 To Current_Value
; Produit en croix
Composante = i * 255 / 256 ; Dégradé sur toute la longueur (256 pixels) , ( les composante RGB vont de 0 a 255 )
Line(i,0,0,64,RGB(255-Composante,128+(Composante/2),Composante))
Next
StopDrawing()
SetGadgetState(0,ImageID(0))
Until event = #PB_Event_CloseWindow
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Et tu utilises directement du PB ? du GDI ?GallyHC a écrit :Pour les degrader j'ai deja fait les routines.
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
bonjour GallyHC
voila, une solution
cordialement
voila, une solution
Code : Tout sélectionner
OpenWindow(0, 0, 0, 550, 550, "Fenetre", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateImage(0, WindowWidth(0), WindowHeight(0))
ContainerGadget(1, 20, 20, 512, 512 ,#PB_Container_Double)
StartDrawing(ImageOutput(0))
DrawingMode(1)
For n = 0 To 255
;Box(0,n*6,512,3,RGB(n,n,n))
;Box(0,n*5,512,5,RGB(255-n,255-n,255))
;Box(0,n*10,512,10,RGB(255-n,255-n,255))
Box(0,n*8,512,8,RGB(255-n,255-n,255))
;Box(0,n*3,512,3,RGB(n,n,255-n))
;Box(0,n*3,512,3,RGB(n,255-n,n))
;Box(0,n*3,512,3,RGB(255-n,n,n))
Next
StopDrawing()
ImageGadget(0,0,0,ImageWidth(0), ImageHeight(0), ImageID(0))
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Met un bouton dans ton container et essaye de clické dessuskernadec a écrit :bonjour GallyHC
voila, une solution
cordialementCode : Tout sélectionner
OpenWindow(0, 0, 0, 550, 550, "Fenetre", #PB_Window_SystemMenu|#PB_Window_ScreenCentered) CreateImage(0, WindowWidth(0), WindowHeight(0)) ContainerGadget(1, 20, 20, 512, 512 ,#PB_Container_Double) StartDrawing(ImageOutput(0)) DrawingMode(1) For n = 0 To 255 ;Box(0,n*6,512,3,RGB(n,n,n)) ;Box(0,n*5,512,5,RGB(255-n,255-n,255)) ;Box(0,n*10,512,10,RGB(255-n,255-n,255)) Box(0,n*8,512,8,RGB(255-n,255-n,255)) ;Box(0,n*3,512,3,RGB(n,n,255-n)) ;Box(0,n*3,512,3,RGB(n,255-n,n)) ;Box(0,n*3,512,3,RGB(255-n,n,n)) Next StopDrawing() ImageGadget(0,0,0,ImageWidth(0), ImageHeight(0), ImageID(0)) Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_CloseWindow End EndSelect ForEver

bonjour Cpl.Bator
je ne comprend pas votre probleme clic?
cordialement
je ne comprend pas votre probleme clic?
Code : Tout sélectionner
OpenWindow(0, 0, 0, 550, 550, "Fenetre", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateImage(0, WindowWidth(0), WindowHeight(0))
ContainerGadget(1, 20, 20, 512, 512 ,#PB_Container_Double)
StartDrawing(ImageOutput(0))
DrawingMode(1)
For n = 0 To 255
;Box(0,n*6,512,3,RGB(n,n,n))
;Box(0,n*5,512,5,RGB(255-n,255-n,255))
;Box(0,n*10,512,10,RGB(255-n,255-n,255))
Box(0,n*8,512,8,RGB(255-n,255-n,255))
;Box(0,n*3,512,3,RGB(n,n,255-n))
;Box(0,n*3,512,3,RGB(n,255-n,n))
;Box(0,n*3,512,3,RGB(255-n,n,n))
Next
StopDrawing()
ButtonGadget(2, 40, 40, 80, 20 ,"essai",#PB_Button_Toggle)
ImageGadget(0,0,0,ImageWidth(0), ImageHeight(0), ImageID(0))
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 2
Debug "Voila"
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
kernadec a écrit :pardon, je viens de rencontrer le probleme
si on passe une fenêtre sur la fenetre celui-ci , il disparait ??
que se passe t'il ?
si quelqu'un a une solution pour ce coup la? merci
facile

il faut utiliser un callback !!

Code : Tout sélectionner
Declare WindowCallback(WindowID,message,wParam,lParam)
OpenWindow(0, 0, 0, 550, 550, "Fenetre", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
SetWindowCallback(@WindowCallback())
CreateImage(0, WindowWidth(0), WindowHeight(0))
ContainerGadget(1, 20, 20, 512, 512 ,#PB_Container_Double)
StartDrawing(ImageOutput(0))
DrawingMode(1)
For n = 0 To 255
;Box(0,n*6,512,3,RGB(n,n,n))
;Box(0,n*5,512,5,RGB(255-n,255-n,255))
;Box(0,n*10,512,10,RGB(255-n,255-n,255))
Box(0,n*8,512,8,RGB(255-n,255-n,255))
;Box(0,n*3,512,3,RGB(n,n,255-n))
;Box(0,n*3,512,3,RGB(n,255-n,n))
;Box(0,n*3,512,3,RGB(255-n,n,n))
Next
StopDrawing()
ButtonGadget(2, 40, 40, 80, 20 ,"essai",#PB_Button_Toggle)
ImageGadget(0,0,0,ImageWidth(0), ImageHeight(0), ImageID(0))
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 2
Debug "Voila"
EndSelect
Case #PB_Event_CloseWindow
End
EndSelect
ForEver
Procedure WindowCallback(WindowID,message,wParam,lParam)
res=#PB_ProcessPureBasicEvents
Select message
Case #WM_PAINT
ButtonGadget(2, 40, 40, 80, 20 ,"essai",#PB_Button_Toggle)
ImageGadget(0,0,0,ImageWidth(0), ImageHeight(0), ImageID(0))
Case #WM_CTLCOLORSTATIC
ButtonGadget(2, 40, 40, 80, 20 ,"essai",#PB_Button_Toggle)
ImageGadget(0,0,0,ImageWidth(0), ImageHeight(0), ImageID(0))
ProcedureReturn #True
EndSelect
ProcedureReturn res
EndProcedure