Page 1 sur 1

Toolbar vertical et ToolbarImagebutton

Publié : lun. 16/janv./2006 10:53
par Progi1984
Voilà grace à ce code, j'ai réussi à faire une toolbar vertical, mais impossible de mettre des toolbarimagebutton :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 150, 250, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "ToolBar")
  CreateGadgetList(WindowID())
  ContainerGadget(1,0, 30,20,200,#PB_Container_BorderLess)
  TBar=CreateToolBar(0, GadgetID(1))
  SetWindowLong_(TBar, #GWL_STYLE,GetWindowLong_(TBar, #GWL_STYLE)|#TBSTYLE_WRAPABLE)
  ToolBarStandardButton(0, #PB_ToolBarIcon_New)
  ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
  ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_Menu
      Debug "ToolBar ID: "+Str(EventMenuID())
    EndIf
  Until EventID = #PB_Event_CloseWindow
EndIf
Donc j'en viens à vous demander de l'aide.

Faut il que les images/icones aient une taille spécifique ?

Publié : lun. 16/janv./2006 11:37
par Chris
Avec une image au format .ico, le bouton apparait, mais il ne fait qu'un ou deux pixels de haut 8O

Par contre, on peut quand même cliquer dessus, le débugger renvoie bien l'ID du bouton.

Essaie avec une icone 16x16 :?

Publié : lun. 16/janv./2006 11:54
par Chris
En fait, dans ton code, la toolbar ne veut pas afficher plus de trois rangées de boutons. (Pourquoi?, je ne sais pas)

Supprime un des ToolBarStandardButton(), et tu verras que ton ToolBarImageButton() s'affiche correctement.

Code : Tout sélectionner

If CreateImage(10, 16, 16)
  StartDrawing(ImageOutput())
  Box(0,0,16,16,RGB($0,$0,$FF))
  StopDrawing()
EndIf

If OpenWindow(0, 0, 0, 150, 250, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "ToolBar") 
  CreateGadgetList(WindowID()) 
  ContainerGadget(1,0, 30,25,200,#PB_Container_BorderLess) 
  TBar=CreateToolBar(0, GadgetID(1)) 
  SetWindowLong_(TBar, #GWL_STYLE,GetWindowLong_(TBar, #GWL_STYLE)|#TBSTYLE_WRAPABLE) 
  ToolBarStandardButton(0, #PB_ToolBarIcon_New) 
  ;ToolBarStandardButton(1, #PB_ToolBarIcon_Open) 
  ToolBarStandardButton(2, #PB_ToolBarIcon_Save) 
  
  ToolBarImageButton(3,UseImage(10))
  
  
  Repeat 
    EventID = WaitWindowEvent() 
    If EventID = #PB_Event_Menu 
      Debug "ToolBar ID: "+Str(EventMenuID()) 
    EndIf 
  Until EventID = #PB_Event_CloseWindow 
EndIf 

Publié : lun. 16/janv./2006 12:10
par Progi1984
Ouais mais disons que trois rangées de boutons, c'est pas top. pas un moyen d'améliorer cela ?

Publié : lun. 16/janv./2006 12:17
par Progi1984
Dés qu'il y a un nombre pair de boutons, ca foire. Sinon, c'est ok ! Bizarre :

Code : Tout sélectionner

If CreateImage(1000, 16, 16)
  StartDrawing(ImageOutput())
  Box(0,0,16,16,RGB($0,$0,$FF))
  StopDrawing()
EndIf

If OpenWindow(0, 0, 0, 150, 600, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "ToolBar")
  CreateGadgetList(WindowID())
  ContainerGadget(1,0, 30,25,600,#PB_Container_BorderLess)
  TBar=CreateToolBar(0, GadgetID(1))
  SetWindowLong_(TBar, #GWL_STYLE,GetWindowLong_(TBar, #GWL_STYLE)|#TBSTYLE_WRAPABLE)
  ToolBarStandardButton(0, #PB_ToolBarIcon_New)
  ToolBarStandardButton(1, #PB_ToolBarIcon_Open)
  ToolBarStandardButton(2, #PB_ToolBarIcon_Save)
  ToolBarImageButton(3,UseImage(1000))
  ToolBarStandardButton(4, #PB_ToolBarIcon_New)
  ToolBarImageButton(5,UseImage(1000))
  ToolBarImageButton(6,UseImage(1000))
  ToolBarImageButton(7,UseImage(1000))
  ToolBarImageButton(8,UseImage(1000))
  ToolBarImageButton(9,UseImage(1000))
  ToolBarImageButton(10,UseImage(1000))
  ToolBarImageButton(11,UseImage(1000))
  ToolBarImageButton(12,UseImage(1000))
  ToolBarImageButton(13,UseImage(1000))
  ToolBarImageButton(14,UseImage(1000))
  ToolBarImageButton(15,UseImage(1000))
  ToolBarImageButton(16,UseImage(1000))
  ToolBarImageButton(17,UseImage(1000))
  ToolBarStandardButton(18, #PB_ToolBarIcon_New)
  ToolBarStandardButton(19, #PB_ToolBarIcon_New)
  Repeat
    EventID = WaitWindowEvent()
    If EventID = #PB_Event_Menu
      Debug "ToolBar ID: "+Str(EventMenuID())
    EndIf
  Until EventID = #PB_Event_CloseWindow
EndIf 

Publié : lun. 16/janv./2006 12:58
par Chris
Oui, effectivement! :?

Bizarre!

Publié : lun. 16/janv./2006 13:01
par Chris
Si tu termines ta toolbar par un ToolBarSeparator(), on dirait que ça marche!