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

解决方案 »

  1.   

    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);几种思路你试试看
      

  2.   

    非常谢谢laiyiling(陌生人_潜心钻研MS技术),我刚好编程中用的着,急着用,谢谢,就此结分。