ListCtrl中垂直滚动条自动滚动

本文转自:http://blog.csdn.net/rexlend/article/details/5350122

 

在用ListCtrl控件时,当向该控件中添加数据时,怎么样可以把滚动条时时滚动到最后一行,这样便可看到添加的新数据内容

1  
  加完数据后执行  
  EnsureVisible(最后一行索引)  
  可以保证滚动到最后  
  Example  
  //   The   pointer   to   my   list   view   control.  
  extern   CListCtrl*   pmyListCtrl;  
  //   Ensure   that   the   last   item   is   visible.  
  int   nCount   =   pmyListCtrl->GetItemCount();  
  if   (nCount   >   0)  
        pmyListCtrl->EnsureVisible(nCount-1,   FALSE);  
   
   
  2  
  CListCtrl   m_ListCtrl;  
  m_ListCtrl.SetFocus();  
  //设置最后一行被选中  
  m_ListCtrl.SetItemState(   m_ListCtrlLog.GetItemCount()   -   1,    
                                                        LVIS_ACTIVATING   |   LVIS_FOCUSED   |   LVIS_SELECTED,      
                                                        LVIS_SELECTED   |   LVIS_FOCUSED   );  
  //滚动到最后一行  
  m_ListCtrl.Scroll(   CSize(   0,   100000   )   );  
   
   
  3  
  加完数据后执行  
  MyListCtrl.SendMessage(WM_VSCROLL,   SB_BOTTOM,   NULL);  

你可能感兴趣的:(list,null)