Page 1 sur 1

[resolu]PureColor et Trackbar - soucis de rafraichissement

Publié : lun. 29/déc./2008 15:46
par Ar-S
Salut à tous,
Gnozal si tu me lis :) ou si quelqu'un à la solution..

je créé une fenetre avec une trackbar.
N'arrivant pas à colorer celle ci avec setcolorgadget, j'utilise comme d'hab PureColor.

Cela fonctionne mais seulement après avoir cliqué sur la trackbar..
Est-ce un bug ? ai-je oublié quelquechose ?

Code : Tout sélectionner

;{ Windows - PB 4.30
Enumeration
  #LDVM : #trackComp : #Text_LEVEL 
EndEnumeration

Global textLevel$
textLevel$="Normal"

Procedure OpenWindow_LDVM()
  If OpenWindow(#LDVM, 541, 263, 150, 200, "test", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
    TrackBarGadget(#trackComp, 15, 90, 105, 20, 0, 2, #PB_TrackBar_Ticks)
    SetGadgetState(#trackComp,1)
    TextGadget(#Text_LEVEL, 10, 115, 110, 16, textLevel$, #PB_Text_Center)
    SetWindowColor(#LDVM,$9C1FF)
    SetGadgetColor(#Text_LEVEL, #PB_Gadget_BackColor,$9C1FF)
    PureCOLOR_SetGadgetColor(#trackComp, #PureCOLOR_SystemColor, $39BFE6)
  EndIf
EndProcedure

OpenWindow_LDVM()

;{- Event loop
Repeat
  Select WaitWindowEvent()
    Case #PB_Event_Gadget
      Select EventGadget()
        Case #trackComp
          taux=GetGadgetState(#trackComp)
          If taux=0
            textLevel$="Low"
            SetGadgetText(#Text_LEVEL,textLevel$)
          ElseIf taux=1
            textLevel$="Normal"
            SetGadgetText(#Text_LEVEL,textLevel$)
          ElseIf taux=2
            textLevel$="Ultra"
            SetGadgetText(#Text_LEVEL,textLevel$)
          EndIf
      EndSelect

    Case #PB_Event_CloseWindow
      Select EventWindow()
        Case #LDVM
          CloseWindow(#LDVM)
          Break
      EndSelect
  EndSelect
ForEver
;
;}
Merci de votre aide.

Publié : lun. 29/déc./2008 17:29
par gnozal
Tiens, je ne me rappelle pas avoir ajouté le support des TrackbarGadget.
C'est un hasard si çà fonctionne !

Pour ton problème, change la couleur avant de changer l'état du gadget :

Code : Tout sélectionner

    TrackBarGadget(#trackComp, 15, 90, 105, 20, 0, 2, #PB_TrackBar_Ticks) 
    PureCOLOR_SetGadgetColor(#trackComp, #PureCOLOR_SystemColor, $39BFE6) 
    SetGadgetState(#trackComp,1) 

Publié : lun. 29/déc./2008 18:05
par Ar-S
Super merci ça marche, encore une fois c'était tout con :P

C'est tout de même bizarre cette non prise en compte à l'ouverture non ?

P.S : quoi que si c'était pas prévu à la base... je vais po m'plaindre :P :P :P