Page 1 sur 1

ScrollAreaGadget - la couleur de fond et de texte

Publié : jeu. 25/nov./2004 16:04
par Patix
Bonjour,

Je découvre Purebasic et ScrollAreaGadget, entre autres.

- Peut on dessiner dans "ScrollAreaGadget" avec line et box ?
- Comment fait on, par exemple pour mettre un texte en rouge sur fond bleu ?
- Peut on mettre une couleur de fond à ScrollAreaGadget ?

Questions de débutants :-)

Note : je précise que pour l'instant, j'ai une version demo.

Patix

Publié : jeu. 25/nov./2004 16:29
par Chris
Pour changer directement la couleur de fond, aucune idée, par contre, rien ne t'empèche de mettre une ImageGadget dans la GadgetList et de dessiner dedans.

Code : Tout sélectionner

; On charge une police de caractères
IdFont = LoadFont(10,"Arial",72)

; On crée deux images avec la couleur du fond et le texte
If CreateImage(100,400,400)
  StartDrawing(ImageOutput())
  Box(0,0,200,200,RGB($0,$0,$FF))
  Box(200,0,200,200,RGB($FF,$0,$0))
  Box(0,200,200,200,RGB($FF,$0,$0))
  Box(200,200,200,200,RGB($0,$0,$FF))
  
  DrawingMode(1): FrontColor(255,0,255):DrawingFont(IdFont)
  Locate(10,140) : DrawText("Bonjour")
  StopDrawing()
EndIf

If CreateImage(101,400,400)
  StartDrawing(ImageOutput())
  Box(0,0,200,200,RGB($0,$80,$0))
  Box(200,0,200,200,RGB($FF,$0,$FF))
  Box(0,200,200,200,RGB($FF,$0,$FF))
  Box(200,200,200,200,RGB($0,$80,$0))
  
  DrawingMode(1): FrontColor(128,255,64):DrawingFont(IdFont)
  Locate(10,140) : DrawText("Bonjour")
  StopDrawing()
EndIf

;On ouvre la fenêtre
If OpenWindow(0,0,0,305,140,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"ScrollAreaGadget")
  If CreateGadgetList(WindowID(0)) 
    ScrollAreaGadget(0, 10, 10,290,120, 400, 400, 30)
    
    ;On place une ImageGadget dans la GadgetList
    ;et on affiche la première image
    ImageGadget(1,0,0,400,400,UseImage(100))
    CloseGadgetList()
  EndIf
  
  Start = ElapsedMilliseconds()
  Repeat
    If ElapsedMilliseconds() >= Start+1000
      If a = 101 : a = 100 : Else : a = 101 : EndIf
      
      ; Pour changer l'image, on utilise SetGadgetState()
      SetGadgetState(1,UseImage(a))
      Start = ElapsedMilliseconds()
    EndIf
    
    Select WindowEvent() 
      Case  #PB_Event_CloseWindow 
        End 
    EndSelect 
  ForEver 
EndIf

Publié : jeu. 25/nov./2004 16:58
par Le Soldat Inconnu
pour changer la couleur de fond, c'est le même principe que pour changer la coueleur de fond d'une fenêtre (voir 2dev ou purearea) (ne marche pas avec la version démo)

ScrollAreaGadget - la couleur de fond et de texte

Publié : jeu. 25/nov./2004 19:58
par Patix
Merci pour vos réponses. Je vais pousser plus loin l'exploration de ce logiciel plein de ressources :-)

Patix

Publié : jeu. 25/nov./2004 22:39
par jbernard13
Vous etes trop fort
j'abandonneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee