在ListCtrl中如何让最新加入的一个Item(在末行)显示并处于选中状态? 在使用ListCtrl(report模式)时,向其中添加Item,添加完成后如果数目稍多一点是看不到这个Item的,除非是手动把滚动条拉到最后才行。是否可以有办法实现自动滚动到最下面一行,并把最后一条记录(Item)选中?请大侠指点,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int index;m_list.SetFocus();m_list.SetItemState(index, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); int index = m_jiaoSeList.GetItemCount(); //得到当前所有的项的总数list.SetItemState(index-1, /*注意这里要-1,因为从0开始的*/ LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED); //设定焦点CSize s(0, 20000); //这是要滚动的尺寸,0为横滚动条, 20000为竖滚动跳。这里横跳不滚动,为满足你的要求值滚动竖滚动条,20000这个值,随便起只要足够大就可以了,如果你的列表框中的项非常大的话,就可以把这个值在增大,如果少的话可以相应的减少,横滚动条同。list.Scroll(s); //实现滚动。完。给分 m_SMSList.EnsureVisible(nCount-1, FALSE); 功能实现了,非常感谢各位!laiyiling(最熟悉的陌生人)的方法简单,实现了选中;zhangnanonnet(鱼欢)的方法最为简捷,实现了可见;tfrist(tfrist)的方法虽然麻烦一些,可是两个功能都能实现了;顺便再请教tfirst一个问题,我按照您的方法实现了选中和可见,美中不足的是它把每一个Item都变成了选中状态,而我希望的是只将最后一行选中,是不是有个unselect的功能把前面一个取消选中,再把新的Item实现选中?感谢您了! to FirstPac: 如果你的LIST不要求,一次可以多个ITEM被选中的话,最简单的解决办法是,在对话编辑器中直接更改,list的属性。 在Styles选项卡中将Single selection选中即可。 VS2008中,对话框上的按钮怎么响应错误 写文章软件的设计思路? 消息处理,请高手解答 请问在多线程情况下用同一个udp向多个用户发送数据时要同步吗? (xinyuxinlu )将对话框设置为view的子窗口 如何实现? 急求关于 netmeeting 开发的小程序源码! 网上下的例子看不懂 急用!!!! 500分求一个程序 怎么播放WAV文件啊? 虚函数与纯虚函数有什么区别??? 有做过“代理服务器程序”设计的大侠!指点指点吗!怎么开始?思路? 推荐一本书! 关于CString的问题,应该很简单,谢谢!,在线等待 谁有数组查询的高效算法的源码?
m_list.SetFocus();
m_list.SetItemState(index, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
int index = m_jiaoSeList.GetItemCount(); //得到当前所有的项的总数
list.SetItemState(index-1, /*注意这里要-1,因为从0开始的*/
LVIS_SELECTED|LVIS_FOCUSED,
LVIS_SELECTED|LVIS_FOCUSED); //设定焦点
CSize s(0, 20000); //这是要滚动的尺寸,0为横滚动条, 20000为竖滚动跳。这里横跳不滚动,为满足你的要求值滚动竖滚动条,20000这个值,随便起只要足够大就可以了,如果你的列表框中的项非常大的话,就可以把这个值在增大,如果少的话可以相应的减少,横滚动条同。
list.Scroll(s); //实现滚动。
完。给分
感谢您了!
如果你的LIST不要求,一次可以多个ITEM被选中的话,最简单的解决办法是,
在对话编辑器中直接更改,list的属性。 在Styles选项卡中将Single selection选中即可。