Bonsoir,
Je vous propose une petite fonction faite par mes soin, permettant d'afficher une série d'image contenue dans un array!
La fonction:
Func _GuiAnimImage($ArrayOfImage,$ctrlId=-1,$sleep=10)
If $ctrlId = "" Or $ctrlId = Default Then $ctrlId=-1;on initialise les parametre si pas donné
If $sleep = "" Or $sleep = Default Or $sleep <= 0 Then $sleep=10;on initialise les parametre si pas donné
If IsArray($ArrayOfImage)Then; on vérifie les parametre
Local $max=UBound($ArrayOfImage); nombre d'image ?
If Not @error Then ;si pas d'erreur=array à bonne dimension
For $i=0 To $max-1
Local $ImageDone=GUICtrlSetImage($ctrlId,$ArrayOfImage[$i]); on insere l'image
If $ImageDone=0 Then;si il y'a une erreur
SetError(2);pas trouver d'image
ExitLoop;Path de l'image pas bonne, donc on quitte la boucle!
EndIf
Sleep($sleep);le temps d'affichage entre chaque image
Next
EndIf
Else
SetError(1);pas d'array
EndIf
EndFunc
Quels sont les paramètre?
Il y'a 3 parametre;
1) $ArrayOfImage => Est l'array contenant le chemin de vos images.
2) $ctrlId=-1 => Est l'id du control, dont vous voulez afficher les images.
3) $sleep=10 => Est le temps entre chaque affichage d'image.
Le flag des erreurs?
il existe 2 flag;
si @error=1 alors ça signifie que vous n'avez pas passer un array à 1 dimension dans les paramètres !
si @error=2 alors ça signifie que vos chemin vers vos image sont erroné !
Exemple de code:
Cliquez pour révéler
Cliquez pour masquer
#include-once
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 150,150, 600, 200)
Global $Pic1 = GUICtrlCreatePic("", 8, 8, 64, 64, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUICtrlSetImage($Pic1,@ScriptDir&"\1.jpg")
Global $Image[2]=[@ScriptDir&"\2.jpg",@ScriptDir&"\1.jpg"];les images à afficher ! ^^
Global $pause=False
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Pic1
_GuiAnimImage($Image,$Pic1,200)
If Not @error Then
MsgBox(0,"CLICK","CLICK SUR L'IMAGE")
EndIf
EndSwitch
WEnd
Func _GuiAnimImage($ArrayOfImage,$ctrlId=-1,$sleep=10)
If $ctrlId = "" Or $ctrlId = Default Then $ctrlId=-1;on initialise les parametre si pas donné
If $sleep = "" Or $sleep = Default Or $sleep <= 0 Then $sleep=10;on initialise les parametre si pas donné
If IsArray($ArrayOfImage)Then; on vérifie les parametre
Local $max=UBound($ArrayOfImage); nombre d'image ?
If Not @error Then ;si pas d'erreur=array à bonne dimension
For $i=0 To $max-1
Local $ImageDone=GUICtrlSetImage($ctrlId,$ArrayOfImage[$i]); on insere l'image
If $ImageDone=0 Then;si il y'a une erreur
SetError(2);pas trouver d'image
ExitLoop;Path de l'image pas bonne, donc on quitte la boucle!
EndIf
Sleep($sleep);le temps d'affichage entre chaque image
Next
EndIf
Else
SetError(1);pas d'array
EndIf
EndFunc
Je vous laisse si join un fichier .rar contenant les 2 images nécessaire pour la demo, ainsi que le script non compilé
:D