从CListBox继承一个自己的类CMyListBox,然后重载AddString()
int CMyListBox::AddString(LPCTSTR lpszItem)
{
int iResult = CListBox::AddString(lpszItem);
this->SetCurSel(this->GetCount()-1);
return iResult;
}
然后你的listbox控件用CMylistbox
或者
设置 LVS_SHOWSELALWAYS 风格,始终选择刚添加的条目
m_ListCtrl.SetItemState(nIndex,LVIS_SELECTED,LVIS_SELECTED);
其中 nIndex 就是你刚插入 条目的索引。
然后:
m_ListCtrl.EnsureVisible(nIndex,TRUE);
还有一种方式,每次在listbox中添加数据不用addstring
用
insertstring(0,str);
也就是每次在listbox首部插入string。这样不滚动也可以显示最新的信息。
int SetTopIndex(
int nIndex
);
用法如下
m_ListBox.SetTopIndex(m_ListBox.GetCount()-1);
你说的那是listbox