Bonjour à tous,
Je suis entrain de faire une genre de list view, avec des colonne et des lignes. De plus, j'ai besion qu'elle puisse faire défiller ces éléments. Cependant, j'ai quelques difficultés à comprendre comment initialiser les scrollbar.
Jusqu'ici, il semble que la manière dont je l'ai initialisée soit correct puisque tout fonctionne bien. Mais je ne comprend pas pourquoi ! Voici le code que j'ai uitliser jusqu'ici :
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
   |  
// Taille de ma zone client (ma liste)
CRect rectZoneVisible;
GetClientRect( &rectZoneVisible );
 
// Est-ce que la liste possède un élément ? 
if ( m_iRowCount > 0 )
{
   // Taille de la colonne 0, (hauteur nécessaire)
   CRect colRect;
   GetClientColumnRect( 0, &colRect );
 
   // Taille de la ligne 0 (hauteur nécessaire)
   CRect rowRect;
   GetClientRowRect( 0, &rowRect );
 
   // Déterminer si la scrollbar vertical sera visible
   if ( (m_iRowCount * rowRect.Height()) > rectZoneVisible.Height() - 
colRect.Height() )
   {
       // Initialiser la scrollbar vertical
       SCROLLINFO si;
       si.cbSize = sizeof(SCROLLINFO);
       si.fMask = SIF_ALL;
       si.nPos = m_ScrollBarHiddenV.GetScrollPos();
       si.nMin = 0;
       si.nMax = m_iRowCount - 1;
       si.nPage = rectZoneVisible.Height() / rowRect.Height();
       si.nTrackPos = 0;
       m_ScrollBarHiddenV.SetScrollInfo( &si, TRUE );
       m_ScrollBarHiddenV.ShowScrollBar(TRUE);
       ...
    }
    else
    {
       m_ScrollBarHiddenV.ShowScrollBar(FALSE);
    }
} | 
 Pourquoi 
et pas  ?
Deuxièmement, si nPage doit représenter le nombre d'élément visible par page alors pourquoi ne serait-il pas
	
	 nPage = (rectZoneVisible.Height() - colRect.Height()) / rowRect.Height();
 À mon avis, il faut soustraire la hauteur des colonne à la zone visible (liste) pour déterminer combien d'élément seront visible par page ?
Si quelqu'un peut m'expliquer plus clairement.
Merci beaucoup.
						
					
Partager