如何精确取得ListBox中滚动条的时实位置

 我来答
要你子夜来来3521
推荐于2016-07-21 · TA获得超过4.9万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:8608万
展开全部
从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。这样不滚动也可以显示最新的信息。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式