参考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();