ContainerGadget avec Dégradé, possible?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

ContainerGadget avec Dégradé, possible?

Message par GallyHC »

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
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Salut,

Affiche une petite fenêtre, appuie sur la touche PrintScreen, démarre un logiciel de dessin, colle y le screenshoot, fais la modif et poste ici l'image obtenue.

En voyant ce que tu veux, il y aura forcément un solution.

Ollivier
Anonyme

Message par Anonyme »

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
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Message par GallyHC »

Re tout le monde et merci,

En fait je voudrais un ContainerGadget pour pouvoir mettre des text et des boutons que je ferais disparaitre d'un coup en mettant invivible le ContainerGadget.

Pour les degrader j'ai deja fait les routines.

voir l'image ci jointe
Image

encore merci,
GallyHC
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Jolie cette progressbar 8)
Merci CPL
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

GallyHC a écrit :Pour les degrader j'ai deja fait les routines.
Et tu utilises directement du PB ? du GDI ?
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Message par GallyHC »

Bonjour Progi1984,

J'utilise directement PB, car je voudrais le plus possible de compatibilite avec les 3 os.

Cordielement,
GallyHC
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour GallyHC
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
cordialement
Anonyme

Message par Anonyme »

kernadec a écrit :bonjour GallyHC
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
cordialement
Met un bouton dans ton container et essaye de clické dessus :D
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

Message par GallyHC »

Bonjour kernadec,

J'ai fait quelque modification mais cela correspond bien a ce que je desire faire.

Merci,
GallyHC
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour Cpl.Bator
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
cordialement
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

kernadec a écrit :bonjour Cpl.Bator
je ne comprend ton probleme?
ben apres l'appui sur le bouton, celui ci disparait ! :)
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

bonjour Dobro
ben non pas chez moi?
en tout cas pas dans le code que je viens de poster

cordialement
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Message par kernadec »

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
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

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 
  
  
Répondre