Couleur ProgressBar()
Couleur ProgressBar()
Bonjour à tous
Avez vous la solution pour change la couleur de la jauge (ProgressBar) qui est vert par défaut. J'ai essayé avec cette commande :
SetGadgetColor(#level, #PB_Gadget_BackColor, $FF0000)
Cela reste sans effet.
Merci à eux qui se pencheront sur mon problème qu'ils trouvent ou non la solution.
Cordialement
Brossden
Avez vous la solution pour change la couleur de la jauge (ProgressBar) qui est vert par défaut. J'ai essayé avec cette commande :
SetGadgetColor(#level, #PB_Gadget_BackColor, $FF0000)
Cela reste sans effet.
Merci à eux qui se pencheront sur mon problème qu'ils trouvent ou non la solution.
Cordialement
Brossden
Denis
Bonne Jounée à tous
Bonne Jounée à tous
- Mindphazer
- Messages : 694
- Inscription : mer. 24/août/2005 10:42
Re: Couleur ProgressBar()
Bonjour,
tu peux jeter un oeil ici https://www.purebasic.fr/english/viewto ... ff#p590134
C'est à base d'API, donc que pour Windows...
tu peux jeter un oeil ici https://www.purebasic.fr/english/viewto ... ff#p590134
C'est à base d'API, donc que pour Windows...
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
-
- Messages : 604
- Inscription : lun. 26/avr./2010 16:14
- Localisation : S 48° 52' 31'' / O 123° 23' 33''
Re: Couleur ProgressBar()
Bonsoir,
De mémoire, il me semble que le changement de couleur, sous Windows, n'est possible que si l'option thème XP est désactivée. Aucun quel cas, on perd alors l'effet 'smooth'.
De mémoire, il me semble que le changement de couleur, sous Windows, n'est possible que si l'option thème XP est désactivée. Aucun quel cas, on perd alors l'effet 'smooth'.
Re: Couleur ProgressBar()
Salut brossden,brossden a écrit :Merci à eux qui se pencheront sur mon problème qu'ils trouvent ou non la solution.
content de te voir. Faire un ProgressBar() maison sans API c'est à ma portée. Qu'est-ce que tu en penses ?
Et si ça t'intéresse, pour éviter de perdre du temps, donne quelques détails souhaités à part la couleur !
Je peux par exemple cibler une variable au pif dans la mémoire. Tu renseignes l'adresse de cette variable, et le progessBar adapte l'affichage en fonction de la valeur de cette variable. Un truc du genre :
Code : Tout sélectionner
Define i, min = 0, max = 100
myProgressBar(numero, x, y, w, h, @i, min, max)
For i = min to max
Delay(16)
Next
Re: Couleur ProgressBar()
Ci-dessus, c'est si t'es pas 'API'.
Si, par contre, tu es 'API', il y a blue qui a déterré une discussion entre KCC, netmaestro et Rashad :
https://www.purebasic.fr/english/viewtopic.php?t=47408
Si, par contre, tu es 'API', il y a blue qui a déterré une discussion entre KCC, netmaestro et Rashad :
https://www.purebasic.fr/english/viewtopic.php?t=47408
Re: Couleur ProgressBar()
Regarde ceci éventuellement.
Code : Tout sélectionner
;MLD 27/04/2017
;PB5.62
#pg1 = 1:#pg2 = 2:#pg3 = 3:#pg4 = 4
Procedure avancepbar(gad,color_face,color_ombre,Pc.d,sens.b);sens normal 0 inverse 1
StartDrawing(CanvasOutput(gad))
DrawingMode(#PB_2DDrawing_Gradient)
FrontColor(color_face)
BackColor(color_ombre)
If GadgetHeight(gad)< GadgetWidth(gad)
LinearGradient(0,GadgetHeight(gad),0,0)
If sens <> 0
largPc.d = (GadgetWidth(gad)-GadgetWidth(gad)*Pc)/100
Box(GadgetWidth(gad),0,largPc.d-2,GadgetWidth(gad) ,color_face)
Else
largPc.d = (GadgetWidth(gad)*Pc)/100
Box(0,0,largPc.d,GadgetWidth(gad) ,color_face)
EndIf
Else
LinearGradient(0,GadgetWidth(gad),GadgetWidth(gad),GadgetWidth(gad))
If sens <> 0
hautpc.d = (GadgetHeight(gad)-GadgetHeight(gad)*Pc)/100
Box(0,GadgetHeight(gad),GadgetWidth(gad),hautpc.d,color_face)
Else
hautpc.d =(GadgetHeight(gad)*Pc)/100
Box(0,0,GadgetWidth(gad),hautpc.d,color_face)
EndIf
EndIf
StopDrawing()
EndProcedure
Procedure progbar3d(gad,X.d,Y.d,larg.d,haut.d,coulfond.d,cadre.b);pour cadre 1,si non 0
If cadre = 1
CanvasGadget(gad,X,Y,larg,haut, #PB_Canvas_Border)
Else
CanvasGadget(gad,X,Y,larg,haut)
EndIf
StartDrawing(CanvasOutput(gad))
DrawingMode(#PB_2DDrawing_Default)
Box(0,0,larg,Haut,coulfond)
StopDrawing()
EndProcedure
Procedure demo()
Static Pc1,Pc2,Pc3,Pc4
pc1 = pc1 + 1
pc2 = pc2 + 2
pc3 = pc3 + 1
pc4 = pc4 + 4
avancepbar(1,$7E04E5,$44007E,Pc1,0)
avancepbar(2,$CB9B79,$6F5C4F,Pc2,1)
avancepbar(3,$A1E623,$5C6A42,Pc3,1)
avancepbar(4,$1BF3FF,$167175,Pc4,0)
If Pc1 = 100:progbar3d(1,10,20,200,25,$BEBEBE,1):pc1 = 0:EndIf
If Pc2 = 100:progbar3d(2,10,80,280,25,$BEBEBE,0) :Pc2 = 0:EndIf
If Pc3 = 100:progbar3d(3,50,120,25,100,$BEBEBE,0):Pc3 = 0:EndIf
If Pc4 = 100:progbar3d(4,225,120,25,100,$BEBEBE,0):Pc4 = 0:EndIf
EndProcedure
OpenWindow(0, 0, 0, 300, 250, "Progressbar1", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
AddWindowTimer(0, 1, 100)
progbar3d(1,10,20,200,25,$BEBEBE,1)
;avancepbar(1,$7E04E5,$44007E,Pc1,0)
progbar3d(2,10,80,280,25,$BEBEBE,0)
;avancepbar(2,$CB9B79,$6F5C4F,Pc2,1)
progbar3d(3,50,120,25,100,$BEBEBE,0)
;avancepbar(3,$A1E623,$5C6A42,Pc3,1)
progbar3d(4,225,120,25,100,$BEBEBE,0)
;avancepbar(4,$1BF3FF,$167175,Pc4,0)
BindEvent(#PB_Event_Timer,@demo())
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
End
Re: Couleur ProgressBar()
Bonjour MLD,
il me semblait bien avoir déjà vu ce programme, merci quand même du partage.
il me semblait bien avoir déjà vu ce programme, merci quand même du partage.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: Couleur ProgressBar()
Merci à tous de vous être penché sur mon problème
la solution d'Ollivier que j'ai adoptée et qui fonctionne parfaitement est de rajouter la commande :
SetWindowTheme_(GadgetID(#level), #Empty$, #Empty$)
Juste aprèes avoir créer la progressbar(#level,......)
Merci encore et désolé de n'avoir pas répondu plus tôt mais j'étais en vacances !!
Brossden
la solution d'Ollivier que j'ai adoptée et qui fonctionne parfaitement est de rajouter la commande :
SetWindowTheme_(GadgetID(#level), #Empty$, #Empty$)
Juste aprèes avoir créer la progressbar(#level,......)
Merci encore et désolé de n'avoir pas répondu plus tôt mais j'étais en vacances !!
Brossden
Denis
Bonne Jounée à tous
Bonne Jounée à tous
Re: Couleur ProgressBar()


Salut brossden, j'espère que tes vacances ont été bonnes.Brossden a écrit :[...] la solution d'Ollivier que j'ai adoptée et qui fonctionne parfaitement [...]
Sans vouloir te froisser, c'est Mindphazer qui t'a éclairé la lampe, avec un code de mk-soft.
Donc je donne la valise pleine de billets de dollars pour la récompense à Mindphazer ! (mais j'en ai gratté quelques uns de biftons discrètement en passant

- Mindphazer
- Messages : 694
- Inscription : mer. 24/août/2005 10:42
Re: Couleur ProgressBar()
Mince, combien tu m'as laissé ??Ollivier a écrit : dim. 02/juil./2023 8:51 Donc je donne la valise pleine de billets de dollars pour la récompense à Mindphazer ! (mais j'en ai gratté quelques uns de biftons discrètement en passant)
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Re: Couleur ProgressBar()
Je l'ai carotté !