Page 1 sur 1

Toolbar - changer l'image d'un bouton

Publié : dim. 19/mars/2006 1:49
par Progi1984
Salut, le titre en dit long

Comment peut on changer l'image d'un bouton d'une toolbar ?

Merci

Code : Tout sélectionner

  If OpenWindow(0, 0, 0, 150, 25, "ToolBar", #PB_Window_SystemMenu |#PB_Window_ScreenCentered)
    CreateImage(0,16,16)
    StartDrawing(ImageOutput(0))
      Box(0,0,16,16,RGB(255,255,255))
      Box(4,4,8,8,RGB(255,0,0))
    StopDrawing()
    CreateImage(1,16,16)
    StartDrawing(ImageOutput(1))
      Box(0,0,16,16,RGB(255,0,0))
      Box(4,4,8,8,RGB(255,255,255))
    StopDrawing()
    If CreateToolBar(0, WindowID(0))
      ToolBarImageButton(0,ImageID(0))
      ToolBarImageButton(1,ImageID(1))
    EndIf
    Repeat
      If EventGadget()=0 And EventType()=#PB_EventType_LeftClick 
        SetGadgetItemState(0,0,ImageID(1))
        Debug "0"
      EndIf
      If EventGadget()=1 And EventType()=#PB_EventType_LeftClick 
        Debug "1"
      EndIf
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
  EndIf

Publié : dim. 19/mars/2006 9:39
par Jacobus
Une possibilité est de libérer la toolbar et de la recréer

ainsi : (PB 4)

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 150, 25, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "ToolBar") 
    CreateImage(0,16,16) 
    StartDrawing(ImageOutput(0)) 
      Box(0,0,16,16,RGB(255,255,255)) 
      Box(4,4,8,8,RGB(255,0,0)) 
    StopDrawing() 
    CreateImage(1,16,16) 
    StartDrawing(ImageOutput(1)) 
      Box(0,0,16,16,RGB(255,0,0)) 
      Box(4,4,8,8,RGB(255,255,255)) 
    StopDrawing() 
    If CreateToolBar(0, WindowID(0)) 
      ToolBarImageButton(0,ImageID(0)) 
      ToolBarImageButton(1,ImageID(1)) 
    EndIf 
    Repeat 
      If EventGadget()=0 And EventType()=#PB_EventType_LeftClick 
        
        FreeToolBar(0)
        If CreateToolBar(0, WindowID(0)) 
          ToolBarImageButton(0,ImageID(1)) 
          ToolBarImageButton(1,ImageID(0)) 
         EndIf 
 
      EndIf 
      If EventGadget()=1 And EventType()=#PB_EventType_LeftClick 
      
        FreeToolBar(0)
        If CreateToolBar(0, WindowID(0)) 
          ToolBarImageButton(0,ImageID(0)) 
          ToolBarImageButton(1,ImageID(1)) 
         EndIf 
      EndIf 
    Until WaitWindowEvent() = #PB_Event_CloseWindow 
  EndIf 
Ce n'est peut-être pas ce que tu cherches, mais c'est une piste.

Publié : dim. 19/mars/2006 22:03
par Progi1984
Arh, mais disons que recréer une dizaine de boutons c'est pas le top, mais bon, ca devrait aller, merci !