You have to use SetItemState()
e.g.
Code:
................
list->SetFocus();
list->SetSelectionMark(index);
list->SetItemState(index,LVIS_SELECTED, LVIS_SELECTED);
list->EnsureVisible(index, FALSE);
...................