Page 1 sur 3

ContainerGadget avec Dégradé, possible?

Publié : mar. 30/juin/2009 15:01
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

Publié : mar. 30/juin/2009 17:41
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

Publié : mar. 30/juin/2009 18:08
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

Publié : mar. 30/juin/2009 18:51
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

Publié : mer. 01/juil./2009 8:51
par Kwai chang caine
Jolie cette progressbar 8)
Merci CPL

Publié : mer. 01/juil./2009 8:56
par Progi1984
GallyHC a écrit :Pour les degrader j'ai deja fait les routines.
Et tu utilises directement du PB ? du GDI ?

Publié : mer. 01/juil./2009 11:26
par GallyHC
Bonjour Progi1984,

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

Cordielement,
GallyHC

Publié : jeu. 02/juil./2009 3:18
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

Publié : jeu. 02/juil./2009 10:11
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

Publié : jeu. 02/juil./2009 11:43
par GallyHC
Bonjour kernadec,

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

Merci,
GallyHC

Publié : jeu. 02/juil./2009 12:04
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

Publié : jeu. 02/juil./2009 12:07
par Backup
kernadec a écrit :bonjour Cpl.Bator
je ne comprend ton probleme?
ben apres l'appui sur le bouton, celui ci disparait ! :)

Publié : jeu. 02/juil./2009 12:14
par kernadec
bonjour Dobro
ben non pas chez moi?
en tout cas pas dans le code que je viens de poster

cordialement

Publié : jeu. 02/juil./2009 12:22
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

Publié : jeu. 02/juil./2009 12:41
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