【问题来源】: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);
|