Probleme de slider

shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 3 janv. 2006 à 20:41
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 3 janv. 2006 à 21:20
Bonjour,

pour mon mp3 je me suis fais un slider pour fais l'avancement de la position, j'ai donc dans mon WM_INITDIALOG ceci:

//initialisation de la position
SendMessage(GetDlgItem(hwnd,ID_POS), TBM_SETRANGE,FALSE, MAKELONG(1, 1000));
SendMessage(GetDlgItem(hwnd,ID_POS), TBM_SETPOS,TRUE, 1);
SetDlgItemInt(hwnd, ID_POS, 1, FALSE);

et dans mon case WM_TIMER (qui est censé toute les seconde actualisé la position):
(je precise que l'affichage dans le texte controle de la position par rapport au total marche impecable...

bref je n'ai pas de bug mais un slider qui ne bouge pas, pourtant si je met dans mon SendMessage ou il ya un TBM_SETPOS position, cela avance bien de 1 a chaque seconde (normal 1 seconde de timer est aussi une seconde de musique)

et si je ne fais rien meme quand je bouge le slider au bout d'un moment il revien a sa position initiale

position = FSOUND_Stream_GetTime(stream) / 1000;
total = FSOUND_Stream_GetLengthMs(stream) / 1000;
sprintf(buffer, "Position: %02d:%02d::%02d:%02d", position / 60,position % 60,total / 60,total % 60);
SetDlgItemText(hwnd,ID_POSITION,buffer);
//on affiche la progression
SendMessage(GetDlgItem(hwnd,ID_POS), TBM_SETPOS, TRUE, pos);
pos = ((position / total) *1000);

PS: question secondaire, comment on fait déja pour activer un element disabled et désactiver un elements d'une boite de dialogue activée

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 janv. 2006 à 20:48
EnableWindow()

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
3 janv. 2006 à 21:05
SetTimer

Le 3ème param est en milliseconde :)

Donc 1 seconde -> 1000 millisecondes
if(!Meilleur("Joky")) return ERREUR;<
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
3 janv. 2006 à 21:20
SetTimer(hwnd,ID_TIMER,1000,NULL);

ya pas de bleme a ce niveau la, car en fait le timer envoi dans un texcontrol le temps ecoulé et le temps total ainsi que bouge le slider, et il n'y a que l'effet du slider qui ne se fais pas,

en tout cas merci pour EnableWindow();

.
0
Rejoignez-nous