Bonjour,

j'essaie de faire défiler automatiquement l'ascenseur sur une liste (longue). afin que l'objet en surbrillance de cette liste soit au milieu de ma fenêtre
Concrètement, il s'agit d'un objet de type CListCtrlOD

Pour l'instant, la seule solution que j'ai trouvé, connaissant la position de l'objet en surbrillance dans la liste est la suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
for (j=1;j<position;j++) // je descends d'autant de lignes ds la liste que nécessaire, ce qui est très moche, qu'on se le dise
			{
				m_listLots.PostMessage(WM_VSCROLL,SB_LINEDOWN,1); 
			}
(m_listLots est de type CListCtrlOD et est une variable membre d'un CDialog)

Ca fonctionne, mais ca fait un effet visuel étrange : l'ascenseur descend peu à peu dans la liste.

j'ai essayé avec SB_THUMBPOSITON, mais en vain. Le code suivant ne fait rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
m_listLots.SetScrollPos(WM_VSCROLL,position);
m_listLots.PostMessage(WM_VSCROLL,SB_THUMBPOSITION,1);
I need help please
merci