分享

ListCtrl中垂直滚动条自动滚动

 天海544 2013-12-06

【问题来源】:http://topic.csdn.net/t/20041215/20/3649029.html

在用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);   

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多