
Cherche les bons gadgets
Re: Cherche les bons gadgets
J'ai testé sous: Windows 10 x64, Windows 7, Vista, XP. Ça fonctionne partout 

Re: Cherche les bons gadgets
Mets ton OS, et ta/tes version(s) de PB dans ta signature, ça évitera de toujours poser la question.
Si on PC rame à afficher 10 miniatures dans un gadget, regarde dans le gestionnaire de tâche windows si tu n'as pas une appli qui te bouffe tout le processeur.
J'ai un gros PC, je confirme que l'affichage est instantané (PB5.60 x64)
Si on PC rame à afficher 10 miniatures dans un gadget, regarde dans le gestionnaire de tâche windows si tu n'as pas une appli qui te bouffe tout le processeur.
J'ai un gros PC, je confirme que l'affichage est instantané (PB5.60 x64)
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Cherche les bons gadgets
Voici 3 photos representant 3 etapes :



La premiere photo montre se qui s'affiche au lancement du code :
Pas de fichiers image.
2eme photo : je clique sur l'arborescence (au hazard)
3eme photo : je reviens sur l'emplacement d'origine (meme emplacement que sur la 1ere photo) : et la, ca affiche le fichier image !



La premiere photo montre se qui s'affiche au lancement du code :
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
2eme photo : je clique sur l'arborescence (au hazard)
3eme photo : je reviens sur l'emplacement d'origine (meme emplacement que sur la 1ere photo) : et la, ca affiche le fichier image !
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Cherche les bons gadgets
peut etre comme ça :
note, que j'ai ajouté la possibilité d'afficher l'image choisie dans l'explorateur
donc choisi une image click dessus, elle apparaîtra dans le petit icone du haut .
)
note, que j'ai ajouté la possibilité d'afficher l'image choisie dans l'explorateur
donc choisi une image click dessus, elle apparaîtra dans le petit icone du haut .

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
Re: Cherche les bons gadgets
Pas mal zorro : j'adopte (le bug a disparu et en plus, on peux matter l'image)
EDIT : je ne reprendrais pas mot pour mot ton code mais je vais le decouper pour comprendre comment il marche
EDIT : je ne reprendrais pas mot pour mot ton code mais je vais le decouper pour comprendre comment il marche

Dernière modification par SPH le lun. 29/mai/2017 16:36, modifié 1 fois.
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Cherche les bons gadgets
C'est intéressant comme résultat: cela montre que la méthode de gestion des évènements par callback n'est pas la panacée et que la méthode classique doit être conservée (et parfois préférée pour la compatibilité)
Un ajout pourrait-être fait dans la doc si on arrive à isoler quels gadgets supportent mal les callback ?
Le callback se ferait-il trop vite ou pas assez sur certains gadgets ?
(il est par contre intéressant pour redimensionner une fenêtre: les gadgets sont alors redimensionnés en temps réel plutôt qu'au relâché de la souris)



(il est par contre intéressant pour redimensionner une fenêtre: les gadgets sont alors redimensionnés en temps réel plutôt qu'au relâché de la souris)

Re: Cherche les bons gadgets
Tout comme il faut préférer les callback pour les timers qui de "freezeront" pas au déplacement de la fenêtre.
Le mieux est de faire des tests.
Le mieux est de faire des tests.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Cherche les bons gadgets
@SPH : Suite à ta question sur le chatroom : http://www.purebasic.com/french/documen ... ester.html
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Cherche les bons gadgets
En effet, c'etait simple. Danke 

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Re: Cherche les bons gadgets
je ne suis pas au courant de la conversation sur le chat mais si tu veux un gadget qui fasse de la couleur j'en avais fait un il y a quelques temps voir ici
http://www.purebasic.fr/french/viewtopi ... lor+gadget
http://www.purebasic.fr/french/viewtopi ... lor+gadget
- falsam
- Messages : 7324
- Inscription : dim. 22/août/2010 15:24
- Localisation : IDF (Yvelines)
- Contact :
Re: Cherche les bons gadgets
Ha ben tu as bien fait de le citer ce topic. Je l'avais oublié et à la relecture et j'ai bien ri. 

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
- JohnJohnsonSHERMAN
- Messages : 648
- Inscription : dim. 13/déc./2015 11:05
- Localisation : Allez, cherche...
- Contact :
Re: Cherche les bons gadgets
Je l'ai de ce fait enregistré bien au chaud ce petit topic de type lol et intéressant ^ Et j'ai appris un truc sur Shadow



"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.
CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
Votre expert national en bogage et segfaults.
CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
- Windows 10 x64 - PB 5.61 x64
- Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Re: Cherche les bons gadgets
Je me demandais si c'est possible de voir les vignettes des photos presentes sur le gadget de droite (au lieu de voir une liste de photos) ??
Merci 
ps : voici ou j'en suis avec mes gadgets :

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

ps : voici ou j'en suis avec mes gadgets :
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
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits