Bonjour,

j'ai un petit souci sur l'impl�mentation d'un CSliderCtrl dans un lecteur multim�dia que je suis en train de d�velopper. En effet, je souhaite que ce slider se d�place automatiquement pendant la lecture d'un fichier pour indiquer o� en est la progression. Pour ce point l�, pas de probl�me, ma fonction OnTimer marche nickel :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
 
//timer se déclenchant toutes les secs
void CMainFrame::OnTimer(UINT nIDEvent){  
	sliderCtrl = reinterpret_cast<CSliderCtrl *>(this->m_wndDlgBar.GetDlgItem(IDC_SLIDER1));
	int length = m_fileDuration/10000000;//pr mettre en secondes
	int pasduneunite = length/100;
	sliderCtrl->SetRange(0,length);
	LONGLONG current;
	m_graph.GetPos(&current);
	long cur = (long)current/10000000;
	sliderCtrl->SetPos(cur);
}
La o� cela marche moins bien, c'est lorsque j'impl�mente la m�thode qui permet de changer la position de lecture en manipulant le slider:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
 
 
void CMainFrame::OnNMReleasedcaptureSlider1(NMHDR *pNMHDR, LRESULT *pResult) {
	sliderCtrl = reinterpret_cast<CSliderCtrl *>(this->m_wndDlgBar.GetDlgItem(IDC_SLIDER1));
	int length = m_fileDuration/10000000;//met en secondes
	int tick = length/100;//déplacement d'une unité du slider vaut:
	int n = sliderCtrl->GetPos();
	m_graph.SetPos(n*tick*10000000);
 
}
Ce qui se passe, c'est que lorsque je bouge le slider, celui-ci se remet � la position de lecture avant que je l'aie boug�, ou sinon celui ci prend parfois une position incorrecte.

Quelqu'un a t-il une id�e?

Merci !