Progressbar sensible au clic
Progressbar sensible au clic
Salut !
Quelqun sait comment faire pour faire une progressbar sensible au clic ?
ce que je veux dire par là c'est que par exemple si je clique au milieu de la progressbar elle passe a 50%, si je clique tout a gauche elle passe a 0% et ainsi de suite.... un peu comme un trackbargadget sauf qu'il suffit de cliquer ou on veut sur le gadget pour choisir sa valeur.
Je suis certain que c'est possible, maintenant est-ce que c'est possible avec pb j'en sais rien !
A+
Quelqun sait comment faire pour faire une progressbar sensible au clic ?
ce que je veux dire par là c'est que par exemple si je clique au milieu de la progressbar elle passe a 50%, si je clique tout a gauche elle passe a 0% et ainsi de suite.... un peu comme un trackbargadget sauf qu'il suffit de cliquer ou on veut sur le gadget pour choisir sa valeur.
Je suis certain que c'est possible, maintenant est-ce que c'est possible avec pb j'en sais rien !
A+
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
Oui mais il faut gérer l'affichage dans ce cas, je n'ai plus qui s'affiche chez moi.
Donc je suis passé comme ça
Donc je suis passé comme ça
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 3.9
;
; Explication du programme :
; Choisir la position d'une ProgressBar en cliquant dessus
Procedure SetCursor(WinID, IdCursor.l) ; modifie le curseur de la fenêtre en cours
Cursor = LoadCursor_(0, IdCursor)
SetClassLong_(WinID, #GCL_HCURSOR, Cursor)
EndProcedure
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 100, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test1") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
ProgressBarGadget(0, 10, 10, 280, 20, 0, 100)
SetCursor(GadgetID(0), #IDC_SIZEWE) ; On change le curseur quand on passe sur le gadget
Repeat
Event = WaitWindowEvent()
If Event = #WM_LBUTTONDOWN
Select WindowFromPoint_(DesktopMouseX(), DesktopMouseY()) ; On regarde le gadget qui est sous la souris
Case GadgetID(0)
Distance = 100 * (WindowMouseX() - GadgetX(0)) / GadgetWidth(0) ; On calcul la position de la Pogressbar
SetGadgetState(0, Distance) ; On change la valeur de la ProgressBar
EndSelect
EndIf
Until Event = #PB_EventCloseWindow
End
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Code : Tout sélectionner
; Auteur : Le Soldat Inconnu
; Version de PB : 3.9
;
; Explication du programme :
; Choisir la position d'une ProgressBar en cliquant dessus
; Ajout de MouseMove by Nico
Procedure SetCursor(WinID, IdCursor.l) ; modifie le curseur de la fenêtre en cours
Cursor = LoadCursor_(0, IdCursor)
OldCursor=SetClassLong_(WinID, #GCL_HCURSOR, Cursor)
ProcedureReturn OldCursor
EndProcedure
; Création de la fenêtre et de la GadgetList
If OpenWindow(0, 0, 0, 300, 100, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test1") = 0 Or CreateGadgetList(WindowID()) = 0
End
EndIf
ProgressBarGadget(0, 10, 10, 280, 20, 0, 100)
SetCursor(GadgetID(0), #IDC_SIZEWE) ; On change le curseur quand on passe sur le gadget
Repeat
Event = WaitWindowEvent()
Select Event
Case #WM_LBUTTONDOWN
Select WindowFromPoint_(DesktopMouseX(), DesktopMouseY()) ; On regarde le gadget qui est sous la souris
Case GadgetID(0)
distance = 100 * (WindowMouseX() - GadgetX(0)) / GadgetWidth(0) ; On calcul la position de la Pogressbar
SetGadgetState(0, distance) ; On change la valeur de la ProgressBar
ProgressBar=#True
EndSelect
Case #WM_MOUSEMOVE
Select WindowFromPoint_(DesktopMouseX(), DesktopMouseY()) ; On regarde le gadget qui est sous la souris
Case GadgetID(0)
If ProgressBar
distance = 100 * (WindowMouseX() - GadgetX(0)) / GadgetWidth(0) ; On calcul la position de la Pogressbar
SetGadgetState(0, distance) ; On change la valeur de la ProgressBar
EndIf
Default
ProgressBar=0
EndSelect
EndSelect
Until Event = #PB_EventCloseWindow
End
Dernière modification par nico le mer. 02/févr./2005 23:35, modifié 1 fois.
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
-
- Messages : 4312
- Inscription : mer. 28/janv./2004 20:58
- Localisation : Clermont ferrand OU Olsztyn
- Contact :
bonjour, je fait remonter ce poste car j'ai une question a ce sujet
voila j'ai regarder vos exemple niquel rien a dire
. j'ai reussi a integrer la fonction dans mon code mais le probleme c'est que je ne trouve pas la fonction qui fait suivre la musique avec la "progressbar"
donc si vous connaisser la fonction ou si vous avez un tutos la dessus je verrer un peut plus
car j'ai beau chercher je ne trouve pas
merci d'avance


voila j'ai regarder vos exemple niquel rien a dire







Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Tu peux jeter un coup d'oeil à ma "lib" pour gérer des fichiers wave, y'a une version avec DirectX que je peux te compléter si tu veux pour changer la "position" du son...
http://purebasic.hmt-forum.com/viewtopic.php?t=3123
Dri
http://purebasic.hmt-forum.com/viewtopic.php?t=3123
Dri

bonsoir Dr. Dri, bin le probleme c'est que je ne mis connais pas encore asser, je n'est jamer cree des programmes avec des libs. si tu pouvait me montrer un exemple, ou si tu veux je peut t'envoyer mon code pour que tu evite de t'en retaper un et que tu y regarde
. faudrait qu'on voie sa ensemble. fin comme tu veut dit moi quoi .
desol pour le retard probleme d'internet




desol pour le retard probleme d'internet


Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz