Page 1 sur 1
Image issue d'un ExplorerTree
Publié : sam. 24/mars/2007 16:37
par ThoT
Bonjour tout le monde!
Je voudrai bien afficher une image que je la selectionne dans un ExplorerTree.
Voilà le code que j'ai fait :
Enumeration
#Window_0
EndEnumeration
Enumeration
#ExplorerTree_0
#Image_0
EndEnumeration
;---------- Declaration des procedures ----------
Procedure Fenetre1()
If OpenWindow(#Window_0, 216, 0, 600, 300, "Explorateur d'images", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ExplorerTreeGadget(#ExplorerTree_0, 10, 10, 250, 280, "C:\*.jpg;*.bmp;*.gif")
ImageGadget(#Image_0, 340, 10, 250, 280, 0)
EndIf
EndIf
EndProcedure
Fenetre1()
;---------- Boucle Principale ----------
Repeat
evenement = WaitWindowEvent()
If evenement = #PB_EventType_Change And GetGadgetState = #PB_Explorer_File
chemin.s = GetGadgetText(#ExplorerTree_0)
image = LoadImage(#PB_Any, chemin.s)
SetGadgetState(#image_0, ImageID(image))
EndIf
Until evenement = #PB_Event_CloseWindow
End
Le soucis, c'est que ca marche poa et surtout que je ne comprends poa pourquoi... j'ai honte de ma nullité

Aidez moi à sortir de l'ignorance SVP!!!

Publié : sam. 24/mars/2007 17:29
par nico
Purebasic c'est pas un jeu de puzzle!
A partir du moment où tu connais tes bases je veux bien t'aider, mais là faut que tu revois ta gestion des évènements.
Publié : sam. 24/mars/2007 17:36
par ThoT
C'est à dire??
C'est quoi pour toi les bases??
Explique moi un peu!
Ca fait moins d'une semaine que je connais PureBasic alors je ne peux pas tout connaitre des evenement ni de leur utilisation et l'aide du logiciel apporte de la theorie mais ne donne pas d'exemple concret...
alors moi, je rame à mort!!
Est ce qu'il y a un canal IRC pour les PureBasistes?
Publié : sam. 24/mars/2007 18:51
par brossden
Je n'ai pas le temps d'être plus explicite mais regarde les différence avec ton code !
Code : Tout sélectionner
UseJPEGImageDecoder()
UsePNGImageDecoder()
UseTIFFImageDecoder()
UseTGAImageDecoder()
Enumeration
#Window_0
EndEnumeration
Enumeration
#ExplorerTree_0
#Image_0
EndEnumeration
;---------- Declaration des procedures ----------
Procedure Fenetre1()
If OpenWindow(#Window_0, 216, 0, 600, 300, "Explorateur d'images", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ExplorerTreeGadget( #ExplorerTree_0, 10, 10, 250, 280, "C:\*.jpg;*.bmp;*.tif;*.png")
ImageGadget(#Image_0, 270, 10, 250, 280, 0)
EndIf
EndIf
EndProcedure
Fenetre1()
;---------- Boucle Principale ----------
Repeat
Event = WaitWindowEvent()
GadgetID = EventGadget()
If Event = #PB_Event_Gadget
If GetGadgetState(#ExplorerTree_0) = #PB_Explorer_File
image.s = GetGadgetText(#ExplorerTree_0)
LoadImage(#Image_0, image)
ResizeImage(#Image_0,320,250)
SetGadgetState(#Image_0, ImageID(#Image_0))
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End
Publié : sam. 24/mars/2007 18:55
par Stefou
C'est toujours parreil lorsque je réponds à une question je me fais toujours griller !
Bon je balance quand même mon code , et je remet ma coquille
Code : Tout sélectionner
Enumeration
#Window_0
EndEnumeration
Enumeration
#ExplorerTree_0
#Image_0
EndEnumeration
;---------- Declaration des procedures ----------
Procedure Fenetre1()
If OpenWindow(#Window_0, 216, 0, 600, 300, "Explorateur d'images", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ExplorerTreeGadget(#ExplorerTree_0, 10, 10, 250, 280, "C:\*.jpg;*.bmp;*.gif")
ImageGadget(#Image_0, 340, 10, 250, 280, 0)
EndIf
EndIf
EndProcedure
UseJPEGImageDecoder() ;permet de lire les images jpg
Fenetre1()
;---------- Boucle Principale ----------
Repeat
evenement = WaitWindowEvent()
Select EventWindow() ;on selectionne la fenetre ou l'evenement est intervenu (pas obligatoire si il y en a qu'une !)
Case #Window_0;{
Select evenement
Case #WM_KEYDOWN ;{touche clavier
Debug "Appuye touche "+Str(EventwParam())
id_touche=EventwParam()
Select id_touche
EndSelect
;}
Case #PB_Event_Gadget;{*****************Choix d'un bouton
id_gadget=EventGadget()
Select id_gadget ;tu peux remplacer ces 2 lignes par : Select EventGadget()
Case #ExplorerTree_0
If EventType() = #PB_EventType_Change
chemin.s = GetGadgetText(#ExplorerTree_0)
Debug chemin.s
If FileSize(chemin)>0 ; verification de l'existence du fichier
image = LoadImage(#PB_Any, chemin.s)
If image
SetGadgetState(#Image_0, ImageID(image))
Else
Debug "lecture d'image impossible"
EndIf
EndIf
EndIf
EndSelect
;}
Case #PB_Event_Menu ;{********************Choix d'un menu
Select EventMenu()
EndSelect
;}
EndSelect
;}
EndSelect
Until evenement = #PB_Event_CloseWindow
End
[/quote]
Publié : dim. 25/mars/2007 14:07
par brossden
Stefou a écrit :C'est toujours parreil lorsque je réponds à une question je me fais toujours griller !
Désolé Stefou la prochaine fois je te demanderai si je peux !

Publié : dim. 25/mars/2007 18:59
par Backup
ThoT a écrit :et l'aide du logiciel apporte de la theorie mais ne donne pas d'exemple concret...
alors moi, je rame à mort!!
le Forum a une rubrique débutant , avec des exemples "[TUTO]"progressif pour acquérir les bases
je pense que aller faire un tour a cet endroit est plus que conseillé
Je te conseille aussi d'utiliser le Designer d'interface
qui génère une boucle d'event qui donne déjà une bonne idée de la façon
de programmer en purebasic
