Page 1 sur 1

[R] Listview_item color dynamique

Posté : ven. 28 févr. 2014 20:50
par julie
bonsoir a tous :P

petit probleme en debut de soiree :roll: pour gerez les changement de couleurs en fonction du changement de place des items dans mon tableaux j'ai fait un petit exemple enfin pour le coup cette partie c'est surtout mikell qui ma beaucoup aider. que je remercie au passage :wink: .

mais voila gros probleme maintenant quand j'y ajoute de la couleur je n'arrive pas a actualiser la couleur en fonction de sa place
Enfaite pour faire simple j'aimerai que quand on deplace un item celui ci garde la couleur qui lui a ete attribuer au debut
hors pour le moment vous pouvez le voir dans l'exemple ci dessous ce n'est pas le cas :/
► Afficher le texte
une idee ?

merci beaucoup :)

Re: [..] Listview_item color dynamique

Posté : ven. 28 févr. 2014 22:27
par Hugues
Salut, j'ai trouvé ce code sur un forum...
► Afficher le texte
ou bien celui là qui correspondra sûrement plus à tes attentes...
► Afficher le texte

Re: [..] Listview_item color dynamique

Posté : ven. 28 févr. 2014 22:56
par jguinch
Salut Julie.
Elle est où la fonction _GUICtrlListView_ItemSwap ? :P

Re: [..] Listview_item color dynamique

Posté : ven. 28 févr. 2014 23:40
par julie
heu la voici desole ;)

Code : Tout sélectionner

Func _GUICtrlListView_ItemSwap($hListView, $i_Index, $i_NewIndex, $btn_up, $btn_down)
    GUICtrlSetState($btn_up, $GUI_DISABLE)
    GUICtrlSetState($btn_down, $GUI_DISABLE)
    $i_Index = Number($i_Index)
    $i_NewIndex = Number($i_NewIndex)
    Local $aOrig = _GUICtrlListView_GetItemTextArray($hListView, $i_Index)
    Local $aSwap = _GUICtrlListView_GetItemTextArray($hListView, $i_NewIndex)
    For $i = 1 To UBound($aOrig) - 1
        _GUICtrlListView_SetItemText($hListView, $i_NewIndex, $aOrig[$i], $i - 1)
        _GUICtrlListView_SetItemText($hListView, $i_Index, $aSwap[$i], $i - 1)
    Next
;    _UpdateSections($stockini, $i_Index + 1, $i_NewIndex + 1)
    GUICtrlSetState($btn_up, $GUI_ENABLE)
    GUICtrlSetState($btn_down, $GUI_ENABLE)
EndFunc   ;==>_GUICtrlListView_ItemSwap

Re: [..] Listview_item color dynamique

Posté : ven. 28 févr. 2014 23:42
par julie
merci hugues je regarderai ca de plus pres demain maisa premiere vu ca ne correspond pas vraiment a mes attente je regarderai a dmain merci quand meme :)

Re: [..] Listview_item color dynamique

Posté : sam. 01 mars 2014 14:32
par mikell
Yo julie Image
Si tu ne veux pas te lancer dans du code très complexe le meilleur moyen est de te faire une array 2D avec les IDs des items et leur couleur
L'idéal est de gérer ça dans la fonction _GUICtrlListView_ItemSwap
► Afficher le texte
NB :
Important : _GUICtrlListView_ItemSwap (que j'ai un peu modifiée en passant) n'intervertit pas les items (qui restent à la même place), elle intervertit leur contenu (le texte change mais pas l'id) donc on fait avec la couleur comme avec le texte
Attention à la correspondance entre index de l'array et index retournés par _GUICtrlListView_GetSelectedIndices Image

Re: [..] Listview_item color dynamique

Posté : sam. 01 mars 2014 17:46
par julie
desole de n'avoir pas pu repondre avant :?

merci beaucoup mikell a premiere vu ca a l'air de focntionner j'ai tenter de l'implanter dans mon script en faisant deux ou trois modif simple mais ducoup ca me decale tout j'ai aussi la possibilite d'ajouter de rajouter des item a mon tableau j'ai donc r'ajouter un redim mais qui ne corrige pas mon probleme ayant actuellement un mal de crane je l'aisse ca pour le moment mais je reviendrai dessu dans la soiree peut etre

en tout cas merci beaucoup mikell une fois de plus .ps ( j'ai arreter de compter combien de fois je t'ai remercier ;) une bonne centaine :P )

Re: [..] Listview_item color dynamique

Posté : dim. 02 mars 2014 12:26
par mikell
En fait il y a un autre moyen, on peut intervenir quand la listview est "repeinte"
ça te met moins la panique dans le script (pas d'enregistrement des couleurs à faire) mais c'est beaucoup plus restrictif parce que la couleur des items est définie en fonction d'un élément de leur texte
► Afficher le texte

Re: [..] Listview_item color dynamique

Posté : dim. 02 mars 2014 18:44
par julie
ce code me corresponderai plus car en realite dans le script dans lequel je vais l'employer

la condition est si la deuxieme colonne de l'article est vide alors color en rouge sinon ...

je test en faisant les modification et je te redis ca tout de suite mais la il y a beaucoup plus de chance que ca colle a mon script :D

Re: [..] Listview_item color dynamique

Posté : dim. 02 mars 2014 19:05
par julie
super probleme resolu la deuxieme fonction correspond beaucoup plus a ce que je chercher merci beaucoup de te donner tant de mal mikell :)

je passe en resolue :wink: