Hi !
J'ai rajouté un AddKeyboardShortcut(1, #PB_Shortcut_Escape, 9) quand on ouvre le windows 1 mais ca ne ferme pas le windows 1 quand j'appuie sur escape. J'ai pourtant preciser 2 fois de fermer en case 9...
Pourquoi ?
ps : le petit bazard du gosub, c'est pour laisser la structure "case" belle
Code : Tout sélectionner
UseJPEGImageDecoder()
OpenWindow(0, 0, 0, 500,400, "PanelGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
PanelGadget (0, 8, 8, 484, 384)
AddGadgetItem (0, -1, "L")
ExplorerListGadget(8, 10, 108, 460, 244, "*.jpg")
SetGadgetAttribute(8, #PB_Explorer_List,2)
AddGadgetItem (0, -1,"C")
PanelGadget (1, 10, 10, 460, 340)
AddGadgetItem(1, -1, "C")
AddGadgetItem(1, -1, "D")
CloseGadgetList()
AddGadgetItem (0, -1, "C")
CloseGadgetList()
Repeat
Select WaitWindowEvent()
Case #PB_Event_Gadget
Select EventGadget()
Case 8 ; Play
If EventType() = 2
file$=GetGadgetText(8)+GetGadgetItemText(8, GetGadgetState(8))
Gosub lire
AddKeyboardShortcut(1, #PB_Shortcut_Escape, 9)
EndIf
Case 9 ; Play
CloseWindow(1)
EndSelect
Case #PB_Event_CloseWindow
Select EventWindow()
Case 0
Break
Case 1
CloseWindow(1)
Case 9
CloseWindow(1)
EndSelect
EndSelect
ForEver
End
lire:
If ReadFile(1, file$)
length = Lof(1) ; Lit la taille en octets du fichier
*MemoryID = AllocateMemory(length) ; alloue un bloc mémoire de la taille du fichier
If *MemoryID
ReadData(1, *MemoryID, length) ; Lit les données du fichier et les place dans le bloc mémoire
EndIf
CloseFile(1)
Resultat = CatchImage(1, *MemoryID, length)
If resultat=0
Debug("Erreur")
End
EndIf
OpenWindow(1, 0, 0, ImageWidth(1), ImageHeight(1), "MutanteKey");, #PB_Window_BorderLess)
ImageGadget(#PB_Any, 0,0,300,200,ImageID(1))
EndIf
Return