参考http://blog.chinaunix.net/uid-21222282-id-1829275.html 实现
双击 list的时候设置 m_PrevItem 的值
ULONG SelectedCount =(ULONG)m_ctlRecordList.GetFirstSelectedItemPosition();
if ( SelectedCount < 1)
{
SelectedCount = 1;
}
m_PrevItem = SelectedCount - 1;
在需要移动到下一行的地方 进行设置
PLAYVOICEDATA VoiceEntity =m_Deque_PlayVoiceData.front();
if (m_PrevItem != VoiceEntity.nItem )
{
m_ctlRecordList.SetFocus();//必须的,不然出来效果。
m_ctlRecordList.SetItemState(VoiceEntity.nItem, LVIS_SELECTED, LVIS_SELECTED); //选中该行
m_ctlRecordList.EnsureVisible(VoiceEntity.nItem, FALSE);
m_ctlRecordList.SetItemState(m_PrevItem, 0, LVIS_SELECTED); //取消该行显示.
m_ctlRecordList.EnsureVisible(m_PrevItem, FALSE);
m_ctlRecordList.Update(VoiceEntity.nItem);
m_PrevItem= VoiceEntity.nItem;
}
m_Deque_PlayVoiceData.pop_front();
本文介绍了一种在Windows应用程序中实现列表项选中及平滑切换的方法。具体包括使用GetFirstSelectedItemPosition获取选中项位置,通过SetItemState设置列表项的状态,以及EnsureVisible确保项可见等操作。
1378

被折叠的 条评论
为什么被折叠?



