bon voilà, j'ai essayé d'isoler au maximum le pb...
dans cet exemple, je créé, entre autres, 2 listicon
le 1er ds un splitter
le 2eme en dehors du splitter
si je 'colorise' le 1er sans 'coloriser' le 2ème çà marche pas.
si je 'colorise' le 1er et le 2ème çà marche.
idem donc pour SetRowColor()
idem pour la nlle version recompilé
il faudrait aussi verifier dans un panel et un frame, bref, dès lors que le listicon dépends d'une autre fenetre que la principale...
j'espere que çà t'aidera denis.
ps: j'adore ta lib, je peux pas m'en séparer alors fait en sorte qu'elle marche
Code : Tout sélectionner
;------------------------------------
;- Bug MoreListIconGadget - SetColumnColor()
;------------------------------------
Enumeration
#gadListeA
#gadListeB
#gadEditor
#gadSplitter
EndEnumeration
;------------------------------------
If OpenWindow(0,0,0,400,450,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"test")
If CreateGadgetList(WindowID())
; dans le splitter
ListIconGadget(#gadListeA,0,0,0,0,"col1",120,#PB_ListIcon_FullRowSelect)
EditorGadget(#gadEditor,0,0,0,0)
SplitterGadget(#gadSplitter,10,10,380,300,#gadListeA,#gadEditor)
; hors du splitter
ListIconGadget(#gadListeB,10,315,380,125,"col1",100,#PB_ListIcon_FullRowSelect)
; remplissage des gadgets
AddGadgetColumn(#gadListeA,1,"col2",120)
AddGadgetColumn(#gadListeA,2,"col3",120)
AddGadgetColumn(#gadListeB,1,"col2",120)
AddGadgetColumn(#gadListeB,2,"col3",120)
SetGadgetText(#gadEditor,"ligne1"+Chr(10)+"ligne2"+Chr(10)+"ligne3")
For i=0 To 100
AddGadgetItem(#gadListeA,-1,"test"+Str(i)+Chr(10)+"test"+Chr(10)+"test")
AddGadgetItem(#gadListeB,-1,"test"+Str(i)+Chr(10)+"test"+Chr(10)+"test")
Next
EndIf
EndIf
;------------------------------------
; couleur du listicon dans le splitter
SetColumnColor(#gadListeA,0,$FFFFFF,$808080)
SetColumnColor(#gadListeA,1,$FFFFFF,$008080)
SetColumnColor(#gadListeA,2,$FFFFFF,$000080)
SetRowColor (#gadListeA,5,$FFFFFF,$00FF00)
; couleur du listicon hors du splitter
;SetColumnColor(#gadListeB,0,$FFFFFF,$000080) ; **** décommentez pour voir ***
;SetColumnColor(#gadListeB,1,$FFFFFF,$008080) ; **** décommentez pour voir ***
;SetColumnColor(#gadListeB,2,$FFFFFF,$808080) ; **** décommentez pour voir ***
;SetRowColor (#gadListeB,5,$FFFFFF,$00FF00) ; **** décommentez pour voir ***
;------------------------------------
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
End
pire encore dans cet exemple :
le splittergadget pose pb - et là je ne sais si purebasic ou ta lib qui provoque un gros bug quand on essaye certains mouvements ds l'interface.
Code : Tout sélectionner
;------------------------------------
;- Bug MoreListIconGadget - SetColumnColor()
;------------------------------------
Enumeration
#gadListeA
#gadEditor
#gadSplitter
#gadFrame
#gadListeB
#gadListeC
EndEnumeration
;------------------------------------
If OpenWindow(0,0,0,400,600,#PB_Window_SystemMenu|#PB_Window_ScreenCentered,"test")
If CreateGadgetList(WindowID())
; dans le splitter
ListIconGadget(#gadListeA,0,0,0,0,"col1",120,#PB_ListIcon_FullRowSelect)
EditorGadget(#gadEditor,0,0,0,0)
SplitterGadget(#gadSplitter,10,10,380,300,#gadListeA,#gadEditor)
ContainerGadget(#gadFrame,10,315,380,125,#PB_Frame3D_Flat)
ListIconGadget(#gadListeB,5,5,370,115,"col1",100,#PB_ListIcon_FullRowSelect)
CloseGadgetList()
; hors gadget 'contenant'
ListIconGadget(#gadListeC,10,450,380,125,"col1",100,#PB_ListIcon_FullRowSelect)
; remplissage des gadgets
AddGadgetColumn(#gadListeA,1,"col2",120)
AddGadgetColumn(#gadListeA,2,"col3",120)
AddGadgetColumn(#gadListeB,1,"col2",120)
AddGadgetColumn(#gadListeB,2,"col3",120)
AddGadgetColumn(#gadListeC,1,"col2",120)
AddGadgetColumn(#gadListeC,2,"col3",120)
SetGadgetText(#gadEditor,"ligne1"+Chr(10)+"ligne2"+Chr(10)+"ligne3")
For i=0 To 100
AddGadgetItem(#gadListeA,-1,"test"+Str(i)+Chr(10)+"test"+Chr(10)+"test")
AddGadgetItem(#gadListeB,-1,"test"+Str(i)+Chr(10)+"test"+Chr(10)+"test")
AddGadgetItem(#gadListeC,-1,"test"+Str(i)+Chr(10)+"test"+Chr(10)+"test")
Next
EndIf
EndIf
;------------------------------------
; couleur du listicon dans le splitter
SetColumnColor(#gadListeA,0,$FFFFFF,$808080)
SetColumnColor(#gadListeA,1,$FFFFFF,$008080)
SetColumnColor(#gadListeA,2,$FFFFFF,$000080)
SetRowColor (#gadListeA,3,$000000,$00FF00)
; couleur du listicon dans le container
;SetColumnColor(#gadListeB,0,$FFFFFF,$000080) ; **** décommentez pour voir ***
;SetColumnColor(#gadListeB,1,$FFFFFF,$008080) ; **** décommentez pour voir ***
;SetColumnColor(#gadListeB,2,$FFFFFF,$808080) ; **** décommentez pour voir ***
;SetRowColor (#gadListeB,4,$000000,$00FF00) ; **** décommentez pour voir ***
; couleur du listicon hors du splitter
;SetColumnColor(#gadListeC,0,$FFFFFF,$808080) ; **** décommentez pour voir ***
;SetColumnColor(#gadListeC,1,$FFFFFF,$008080) ; **** décommentez pour voir ***
;SetColumnColor(#gadListeC,2,$FFFFFF,$000080) ; **** décommentez pour voir ***
;SetRowColor (#gadListeC,5,$000000,$00FF00) ; **** décommentez pour voir ***
;------------------------------------
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
End