Page 1 sur 1

[R] PictureBox et selection dans listbox

Posté : ven. 17 juin 2011 13:08
par neg
Bonjour,

J'ai un petit souci avec l'affichage d'images dans un picturebox, peut-être sauriez-vous m'aider.
En fait j'affiche le contenu d'un dossier contenant des images dans une listbox, et je cherche à afficher l'image que je sélectionne dans cette liste dans une picturebox (et que l'image change suivant la sélection).

Avec ceci j'arrive bien à afficher une image a partir d'une sélection dans la liste:
$Pic1 = GUICtrlCreatePic("", 568, 64, 105, 113)
$SELECTION = guictrlread ($IMG_LIST)
GUICtrlSetImage($Pic1, "" & $img_dir & "" & $SELECTION & " ")
($IMG_LIST est la listbox)

Sauf que quand je sélectionne une autre image dans la liste, elle ne s'affiche pas dans la picturebox (La première sélectionnée reste affiché).

Auriez-vous une idée pour m'aider?

Merci d'avance,

neg

Re: [..] PictureBox et selection dans listbox

Posté : ven. 17 juin 2011 13:33
par mikell
Le script n'enregistre pas le changement de sélection...
En gros, la démarche : if clic sur liste => get sélection => affiche image, le tout dans une boucle
Au boulot :)

Re: [..] PictureBox et selection dans listbox

Posté : ven. 17 juin 2011 14:17
par neg
Super merci sa fonctionne niquel:
Case $nMsg = $LOGO_LIST
$SELECTION = guictrlread ($IMG_LIST)
GUICtrlSetImage($Pic1, "" & $img_dir & "" & $SELECTION & " ")

J'ai une autre question,

afin d'afficher le contenu du dossier d'images, j'utilise un taleau:
Dim $listimg
$listimg = _FileListToArray($img_dir,"*",1)
If $listimg <> "" Then
For $i=1 to $listimg[0]
_ArrayDelete($listimg, 0)
GuictrlSetData ($IMG_LIST, _ArrayToString($listimg))
Next
Else
MsgBox(0, "Error", "No image found")
EndIf
Sa fonctionne sauf que cela m'affiche le nom des images plusieurs fois en incrémentant au fur et à mesure, exemple:

Avec 5 images, dans la listebox j'ai:

img1
img2
img2
img3
img3
img3
img4
img4
img4
img4
img5
img5
img5
img5
img5
img5

Et je n'arrive pas à comprendre d’où viens ce problème?

Re: [..] PictureBox et selection dans listbox

Posté : ven. 17 juin 2011 14:34
par zeshrek
1/ _FileListToArray -> F1 tu comprendras pourquoi le test de la ligne 3 est érroné (la fonction renvoie 0 et non "" en cas d'échec).

2/ on peut savoir pourquoi tu fais un _ArrayToString($listimg) dans ton GuictrlSetData ?
Tous les fichiers sont listés dans le tableau $listimg mais tu ne l'utilise pas en tant que tel ! Ta boucle devrait etre :

Code : Tout sélectionner

For $i=1 to $listimg[0]
GuictrlSetData ($IMG_LIST, $listimg[$i])
Next

Re: [R] PictureBox et selection dans listbox

Posté : ven. 17 juin 2011 14:45
par neg
Merci une fois de plus Zeshrek,

pour le 1/ merci pour l'info, c'est corrigé
Pour le 2/ En fait j'ai reprit un exemple de code qui tu m'avait donné pour un autre problème y'a quelques temps, et j'ai pas fait attention sur le _ArrayToString (je débute). Donc merci, sa marche niquel maintenant.

merci encore a vous deux!