alors je repose la question
ci-après le code:
Code : Tout sélectionner
UseJPEGImageDecoder () ;***DECODEUR JPEG
UsePNGImageDecoder () ;
UseTGAImageDecoder () ;
UseTIFFImageDecoder () ;
;***********DECODE VARIABLES***********
chemin$="C:\Documents and Settings\David\Mes documents\Mes images\Gabrielle"
a=0
textb=21
textb$=Str(textb)
taille=3
fenetre=tailley
transparent=75
taillex= 200
tailley = 200
posix = 200
posiy = 200
;
;
;
Declare TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l)
Declare SetWinTransparency(WinHandle.l, Transparency_Level.l)
Global bouton,flag,Handle
;- Gadget Constants
;
Enumeration
#Window_0
#Button_1
#Button_2
#Button_3
#String_0
#Button_4
#Button_5
#Button_6
#Button_7
#Button_8
#Button_9
#image_gadget1 ;arriere plan
#image1 ;gaby1
#image2 ;gaby2
#image0 ; image variable...
#TrackBar_0
#TrackBar_10
#TrackBar_2
#TrackBar_20
#Path_0
#Button_11
EndEnumeration
;
;
;************************************
;*** creation alerte timing *********
;************************************
Procedure AlertThread(Parameter)
Repeat
MessageRequester("Info", "Alert ("+Str(Parameter)+")", 0)
Delay(3000)
ForEver
EndProcedure
;************************************
;*** charge image programme *********
;************************************
LoadImage ( #image1 , path1$+"gaby1.jpg" ) ;image de depart
LoadImage ( #image2 , path2$+"gaby2.jpg" );image en cas de clic sur bouton
ResizeImage ( #image1 , 112*taille, 83*taille )
ResizeImage ( #image2 , 112*taille, 83*taille)
If OpenWindow ( #Window_0 , taillex, fenetre, posix, posiy, #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar , "Compteur Atouts" )
SetWindowPos_(WindowID(), -1, 0, 0, 0, 0, #SWP_NOSIZE | #SWP_NOMOVE) ;fenetre toujours devant
Handle = WindowID (0)
If CreateGadgetList ( WindowID ())
ImageGadget ( #image_gadget1 , 2,34,100*taille,100*taille, UseImage ( #image1 ))
ButtonGadget ( #Button_8 , 42, 2, 60, 30, "visio" )
TextGadget (#TrackBar_10, 342,46,120, 30,"Niv. Transparence",#PB_Text_Center)
TrackBarGadget(#TrackBar_0, 342, 60, 120, 30, 25, 255)
SetGadgetState(#TrackBar_0, transparent)
; TextGadget (#TrackBar_20, 342,110,120, 30,"durée images",#PB_Text_Center)
; TrackBarGadget(#TrackBar_2, 342, 124, 120, 30, 25, 255)
; SetGadgetState(#TrackBar_2, delay)
StringGadget (#Path_0, 342, 180, 118, 24, chemin$)
ButtonGadget ( #Button_11 , 342, 194, 120, 20, "valider répertoire" )
EndIf
Repeat ;La boucle Repeat-Until sert à la gestion des évènements
SetWinTransparency ( WindowID (), transparent)
EventID.l= WaitWindowEvent () ; on récupère un évènement
Select EventID ; on sélectionne cet évènement
Case #PB_EventGadget ; cet évènement concerne une action sur un Gadget
Select EventGadgetID () ; dans ce cas, on récupère l'identifiant du gadget qui l'a créé
Case #Button_8 ;visionneuse charge images
CreateThread(@AlertThread(), 154)
;***********************************************
;*** Examine le dossier et remplit Maliste() ***
;***********************************************
NewList Maliste.s()
If ExamineDirectory (0,chemin$,"*.*")
Repeat
Select NextDirectoryEntry()
Case 0
Break
Case 1
FileName$ = DirectoryEntryName()
FileExt$ = UCase(GetExtensionPart(FileName$))
If FindString("JPG,JPEG,BMP,PNG",FileExt$,1)
AddElement(Maliste())
Maliste() = FileName$
EndIf
EndSelect
ForEver
Else
MessageRequester("Erreur","impossible de créer la liste"+#LF$+"Veuillez reconfigurer les paramètres...")
EndIf
;**********************************
;*** Vérification de Maliste(x) ***
;**********************************
Compteur = CountList(Maliste())
If Compteur
; MessageRequester("Information",Str(Compteur)+" images chargées.")
Else
MessageRequester("Erreur","Aucune image chargée.")
End
EndIf
;*******************************************
;*** Affiche aléatoirement Maliste(x) ***
;*******************************************
SelectElement(Maliste(),Random(Compteur))
If LoadImage(#image0,chemin$+"\"+Maliste())
ResizeImage ( #image0 , 112*taille, 83*taille )
SetGadgetState(#image_gadget1,UseImage(#image0))
EndIf
EndSelect
Case #PB_Event_CloseWindow ; cet évènement concerne la fermeture de la fenêtre
Quit=1
EndSelect
Until Quit=1
EndIf
;
;
;
Procedure SetWinTransparency(WinHandle.l, Transparency_Level.l)
SetWindowLong_ (WinHandle, #GWL_EXSTYLE , GetWindowLong_ (WinHandle, #GWL_EXSTYLE ) | $00080000) ; #WS_EX_LAYERED = $00080000
If OpenLibrary (0, "user32.dll" )
CallFunction (0, "SetLayeredWindowAttributes" , WinHandle, 0, Transparency_Level, 2)
CloseLibrary (0)
EndIf
EndProcedure