ListCtrl中垂直滚动条自动滚动

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

1
加完数据后执行
EnsureVisible(最后一行索引)
可以保证滚动到最后

   1: // The pointer to my list view control. 
   2: extern CListCtrl* pmyListCtrl; 
   3: // Ensure that the last item is visible. 
   4: int nCount = pmyListCtrl->GetItemCount(); 
   5: if(nCount > 0) 
   6:     pmyListCtrl->EnsureVisible(nCount-1, FALSE);

 

2

   1: CListCtrl m_ListCtrl; 
   2: m_ListCtrl.SetFocus(); 
   3: //设置最后一行被选中 
   4: m_ListCtrl.SetItemState(m_ListCtrlLog.GetItemCount() - 1, LVIS_ACTIVATING | LVIS_FOCUSED | LVIS_SELECTED, LVIS_SELECTED | LVIS_FOCUSED); 
   5: //滚动到最后一行 
   6: m_ListCtrl.Scroll(CSize(0, 100000));

 

3

加完数据后执行
   1: MyListCtrl.SendMessage(WM_VSCROLL, SB_BOTTOM, NULL);
posted @ 2013-08-29 16:06  琼'  阅读(1308)  评论(0编辑  收藏  举报