2011-04-01 70 views
0

我想在添加新項目時滾動到列表視圖的末尾。我正在使用WTL的CListViewCtrl。這是我對加入新的項目和滾動功能:在wtl中滾動clistviewctrl,添加新項目時

void CMainDlg::addMessage(CString msg) 
{ 
    m_wndList.InsertItem (n++, msg); 
    SIZE size; 
    size.cx = 0; 
    size.cy = n; 
    m_wndList.Scroll(size); 
} 

n只是一個全局變量:

int n = 0; 

功能的工作原理,除了不滾動的。

我已經看過了源在WTL Scroll,它看起來罰款:

BOOL Scroll(SIZE size) 
{ 
     ATLASSERT(::IsWindow(m_hWnd)); 
     return (BOOL)::SendMessage(m_hWnd, LVM_SCROLL, size.cx, size.cy); 
} 

那麼,爲什麼是不是滾動?我試過n+1等...

回答

2

是的,你滾動的像素。改用EnsureVisible函數(它發送LVM_ENSUREVISIBLE)。

相關問題