Page 1 sur 1

Bug du compilateur avec les ToolBarImageButton, format .ico

Publié : lun. 16/mai/2005 16:41
par Gratteur
Lorsque l'on coche la case "activer le support des themes windows" des "options de compilation" et que l'on utilise un ToolBarImageButton avec une image en .ico, faire DisableToolBarButton(0, 1) n'efface pas l'image affichée dans la ToolBarImageButton, alors que ca marche très bien avec des .png ou sans activer le support des themes windows.

Testez ce bout de code en activant ou non le support des themes window des options de compilation et vous verrez tout de suite le problème :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 150, 25, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "ToolBar")
  UsePNGImageDecoder()
  If CreateToolBar(0, WindowID())
    LoadImage(0,"crayon.png")
    LoadImage(1,"crayon.ico")
    ToolBarImageButton(0,UseImage(0))
    ToolBarImageButton(1,UseImage(0))
    ToolBarImageButton(2,UseImage(1))
    ToolBarImageButton(3,UseImage(1))
  EndIf
  DisableToolBarButton(0, 1)
  DisableToolBarButton(3, 1)
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf
Les deux petites images a avoir pour le test :
http://ns.gratteur.free.fr/crayon.png
http://ns.gratteur.free.fr/crayon.ico

Publié : lun. 16/mai/2005 17:18
par bernard13
j'ai fais le test

avec les themes d'xp
j'ai une 3 crayons vert et un juste le contour

sans les themes d'xp
j'ai les 2 crayons verts et 2 juste le contour

Publié : lun. 16/mai/2005 17:53
par Fred
Bien vu, c'est corrige. Essaye cette library: www.purebasic.com/beta/ToolBar

Publié : lun. 16/mai/2005 19:08
par Gratteur
Les icones désactivées sont beaucoup plus jolies comme ca mais se sont désormais les "ToolBarStandardButton" qui ne marchent plus, pour preuve :

Code : Tout sélectionner

If OpenWindow(0, 0, 0, 150, 25, #PB_Window_SystemMenu |#PB_Window_ScreenCentered, "ToolBar")
  UsePNGImageDecoder()
  If CreateToolBar(0, WindowID())
    LoadImage(0,"crayon.png")
    LoadImage(1,"crayon.ico")
    ToolBarImageButton(0,UseImage(0))
    ToolBarImageButton(1,UseImage(0))
    ToolBarImageButton(2,UseImage(1))
    ToolBarImageButton(3,UseImage(1))
    ToolBarStandardButton(4, #PB_ToolBarIcon_New)
    ToolBarStandardButton(5, #PB_ToolBarIcon_Help)
  EndIf
  DisableToolBarButton(0, 1)
  DisableToolBarButton(3, 1)
  DisableToolBarButton(5, 1)
  Repeat
  Until WaitWindowEvent() = #PB_Event_CloseWindow 
EndIf
Pire encore sous un projet actuel, ca donne ca :
Image
(J'ai entouré les "ToolBarStandardButton" qui prennent l'allure des "ToolBarImageButton" ^^)

Publié : mar. 17/mai/2005 1:04
par Fred
Peux-tu essayer la nouvelle lib ? Meme URL.

Publié : mar. 17/mai/2005 10:48
par Gratteur
C’est impeccable cette fois-ci, bravo et merci.