[R] PictureBox et selection dans listbox

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
neg
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mar. 03 mai 2011 09:55
Status : Hors ligne

[R] PictureBox et selection dans listbox

#1

Message 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
Modifié en dernier par neg le ven. 17 juin 2011 14:46, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] PictureBox et selection dans listbox

#2

Message 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 :)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
neg
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mar. 03 mai 2011 09:55
Status : Hors ligne

Re: [..] PictureBox et selection dans listbox

#3

Message 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?
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [..] PictureBox et selection dans listbox

#4

Message 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
Si vis pacem para bellum
neg
Niveau 2
Niveau 2
Messages : 19
Enregistré le : mar. 03 mai 2011 09:55
Status : Hors ligne

Re: [R] PictureBox et selection dans listbox

#5

Message 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!
Répondre