Re: Cherche les bons gadgets
Publié : lun. 29/mai/2017 10:43
J'ai testé sous: Windows 10 x64, Windows 7, Vista, XP. Ça fonctionne partout 

Code : Tout sélectionner
OpenWindow(0, 0, 0, 749, 470, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If LoadImage(0, "c:\SPH\PB\titre.bmp") ; changez le 2ème paramètre en indiquant le chemin/fichier contenant votre image
ImageGadget(0, 10, 10, 728, 53, ImageID(0)) ; imagegadget standard
EndIf
CompilerIf #PB_Compiler_Version = 560
; Si PB 5.60 on a directement accès au répertoire image
Repertoire$ = GetUserDirectory(#PB_Directory_Pictures)
CompilerEndIf
ExplorerTreeGadget(1, 11, 73, 360, 300, Repertoire$, #PB_Explorer_NoFiles)
ExplorerListGadget(2, 377,73,360,300, "*.jpg;*.jpeg;*.bmp;*.gif;*.png", #PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder)
Procedure Afficher_fichiers()
SetGadgetText(2, "") ; Vider la liste des fichiers
Repertoire$ = GetGadgetText(1) ; Voir quel est le répertoire sélectionné
SetGadgetText(2, Repertoire$) ; Remplir la liste avec le répertoire
EndProcedure
; Si clic gauche sur l'arbre ou déplacement avec les flèches, alors afficher les fichiers dans la fenêtre liste fichiers
BindGadgetEvent(1, @Afficher_fichiers(), #PB_EventType_Change) ; #PB_EventType_LeftClick)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
End
Code : Tout sélectionner
UseJPEGImageDecoder()
UsePNGImageDecoder()
Enumeration
#Win
#Image
#image_gadget
#tree_gadget
#liste_gadget
Endenumeration
Declare afficher_fichiers()
OpenWindow(#win, 0, 0, 749, 470, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If LoadImage(#image, "c:\SPH\PB\titre.bmp") ; changez le 2ème paramètre en indiquant le chemin/fichier contenant votre image
ResizeImage(#image,728, 53)
ImageGadget(#image_gadget, 10, 10, 728, 53, ImageID(#image),#PB_Image_Border ) ; imagegadget standard
EndIf
CompilerIf #PB_Compiler_Version = 560
; Si PB 5.60 on a directement accès au répertoire image
Repertoire$ = GetUserDirectory(#PB_Directory_Pictures)
CompilerEndIf
ExplorerTreeGadget(#tree_gadget, 11, 73, 360, 300, Repertoire$, #PB_Explorer_NoFiles)
ExplorerListGadget(#liste_gadget, 377,73,360,300, "*.jpg;*.jpeg;*.bmp;*.gif;*.png", #PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder)
Repeat
; Si clic gauche sur l'arbre ou déplacement avec les flèches, alors afficher les fichiers dans la fenêtre liste fichiers
; BindGadgetEvent(#tree_gadget, @Afficher_fichiers(), #PB_EventType_Change) ; #PB_EventType_LeftClick)
Event=WaitWindowEvent(2)
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #tree_gadget
SetGadgetText(#liste_gadget, "") ; Vider la liste des fichiers
Repertoire$ = GetGadgetText(#tree_gadget) ; Voir quel est le répertoire sélectionné
SetGadgetText(#liste_gadget, Repertoire$) ; Remplir la liste avec le répertoire
Case #liste_gadget
Path.s=GetGadgetText(#liste_gadget)
Path.s=Path.s+GetGadgetItemText(#liste_gadget, GetGadgetState(#liste_gadget) )
If LoadImage(#image, Path.s) ; changez le 2ème paramètre en indiquant le chemin/fichier contenant votre image
ResizeImage(#image,50,50)
ImageGadget(#image_gadget, 10, 10, 50, 50, ImageID(#image),#PB_Image_Border )
EndIf
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
End
;- ******* Zone Procedures ************
Procedure Afficher_fichiers()
EndProcedure
Code : Tout sélectionner
OpenWindow(0, 0, 0, 749, 470, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If LoadImage(0, "c:\SPH\PB\titre.bmp") ; changez le 2ème paramètre en indiquant le chemin/fichier contenant votre image
ImageGadget(0, 10, 10, 728, 53, ImageID(0)) ; imagegadget standard
EndIf
Repertoire$ = ""
ExplorerTreeGadget(1, 10, 73, 360, 300, Repertoire$, #PB_Explorer_NoFiles)
ExplorerListGadget(2, 376,73,360,300, "*.jpg", #PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder)
Procedure Afficher_fichiers()
SetGadgetText(2, "") ; Vider la liste des fichiers
Repertoire$ = GetGadgetText(1) ; Voir quel est le répertoire sélectionné
SetGadgetText(2, Repertoire$) ; Remplir la liste avec le répertoire
EndProcedure
; Si clic gauche sur l'arbre ou déplacement avec les flèches, alors afficher les fichiers dans la fenêtre liste fichiers
BindGadgetEvent(1, @Afficher_fichiers(), #PB_EventType_Change) ; #PB_EventType_LeftClick)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
End
Code : Tout sélectionner
Enumeration
#Win
#Image
#image_gadget
#tree_gadget
#liste_gadget
EndEnumeration
OpenWindow(#Win, 0, 0, 749, 486, "ImageGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If LoadImage(0, "c:\SPH\PB\titre.bmp") ; changez le 2ème paramètre en indiquant le chemin/fichier contenant votre image
ImageGadget(0, 10, 10, 728, 53, ImageID(0)) ; imagegadget standard
EndIf
; CompilerIf #PB_Compiler_Version = 560
; ; Si PB 5.60 on a directement accès au répertoire image
; ;Repertoire$ = GetUserDirectory(#PB_Directory_Pictures)
Repertoire$ = ""
; CompilerEndIf
ExplorerTreeGadget(1, 11, 73, 360, 300, Repertoire$, #PB_Explorer_NoFiles)
ExplorerListGadget(2, 377,73,360,300, "*.jpg;*.jpeg;*.bmp;*.gif;*.png", #PB_Explorer_NoFolders|#PB_Explorer_NoParentFolder)
FrameGadget(3, 11, 380, 727,65, "", #PB_Frame_Single)
;titre
TextGadget(4, 20, 388,90,20,"Titre de la page :")
StringGadget(5, 20, 410, 150, 20, "")
;vignettes
CheckBoxGadget(6, 200, 388, 70, 20, " Vignettes :")
SetGadgetState(6, #PB_Checkbox_Checked)
TrackBarGadget(8, 200, 410, 180, 25, 0, 12, #PB_TrackBar_Ticks)
SetGadgetState(8, 6)
TextGadget(7, 285, 391, 95, 17, Str(37+GetGadgetState(8)*16)+" pixels de large")
;colonnes
TextGadget(9, 410, 388,50,20,"Colonnes :")
SpinGadget (10, 410, 410, 45, 25, 1, 100)
SetGadgetState (10, 8) : SetGadgetText(10, "8") ; définit la valeur initiale
;papier peint
CheckBoxGadget(11, 490, 388, 80, 20, " Papier peint :")
SetGadgetState(11, #PB_Checkbox_Checked)
;12 palette
;13 générer
ButtonGadget(13, 500, 412, 70, 18, "Couleur")
;14 image fong.gif
If CreateImage(14, 32,32) And StartDrawing(ImageOutput(14))
For x = 0 To 31
For y = 0 To 31
Plot(X, Y, RGB(255,255,255))
Next y
Next x
StopDrawing()
ImageGadget(14, 580, 394, 32, 32, ImageID(14))
EndIf
;visualiser
CheckBoxGadget(15, 650, 388, 80, 20, " Visualiser")
SetGadgetState(15, #PB_Checkbox_Checked)
;generer le html
ButtonGadget(16, 10, 450, 729, 28, "Générer la page")
;ImageGadget(0, 10, 10, 728, 53, ImageID(0)) ; imagegadget standard
Procedure Afficher_fichiers()
SetGadgetText(2, "") ; Vider la liste des fichiers
Repertoire$ = GetGadgetText(1) ; Voir quel est le répertoire sélectionné
SetGadgetText(2, Repertoire$) ; Remplir la liste avec le répertoire
EndProcedure
; Si clic gauche sur l'arbre ou déplacement avec les flèches, alors afficher les fichiers dans la fenêtre liste fichiers
BindGadgetEvent(1, @Afficher_fichiers(), #PB_EventType_Change) ; #PB_EventType_LeftClick)
;Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
Repeat
Evenement = WaitWindowEvent()
If Evenement = #PB_Event_Gadget
If EventGadget() = 10 ;Il faut indiquer le bon gadget
SetGadgetText(10,Str(GetGadgetState(10))) ; là aussi
EndIf
If EventGadget() = 8 ;Il faut indiquer le bon gadget
;MessageRequester("",Str(GetGadgetState(8)))
SetGadgetText(7, Str(37+GetGadgetState(8)*16)+" pixels de large")
;MessageRequester("",Str(GetGadgetState(10)))
;Debug (GetGadgetText(5))
EndIf
If EventGadget() = 13 ;Il faut indiquer le bon gadget
couleur=ColorRequester()
Restore fond
; If CreateImage(14, 32,32) And StartDrawing(ImageOutput(14))
If StartDrawing(ImageOutput(14))
For u=0 To 31
For i=0 To 31
Read.b c.b
;Debug Str(i)+" "+Str(u)+" "+Str(c)
If c=1
Plot(i,u,couleur)
Else
Plot(i,u,15)
EndIf
Next
Next
StopDrawing()
ImageGadget(14, 580, 394, 32, 32, ImageID(14))
EndIf
; If CreateImage(14, 32,32) And StartDrawing(ImageOutput(14))
; For x = 0 To 31
; For y = 0 To 31
; Plot(X, Y, RGB(255,255,255))
; Next y
; Next x
; StopDrawing()
; ImageGadget(14, 580, 394, 32, 32, ImageID(14))
; EndIf
;MessageRequester("",Str(GetGadgetState(8)))
;MessageRequester("",Str(GetGadgetState(10)))
;Debug (GetGadgetText(5))
EndIf
EndIf
Until Evenement = #PB_Event_CloseWindow
End
;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;
DataSection
fond:
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
Data .b 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
EndDataSection