ClistCtrl は、ヘッダーのないレポート ビューで単一選択および単一列に設定されます。
試してみSetItemState(0,LVIS_SELECTED,LVIF_STATE)
まし
SetSelectionMark(int index)
たが、これらは機能しません。
また、アイテムの状態を更新した後に SetSelectionMark を呼び出す必要があります。
SetItemState(prev_item, ~LVIS_SELECTED, LVIS_SELECTED);
SetItemState(new_selected_item, LVIS_SELECTED, LVIS_SELECTED);
SetSelectionMark(new_selected_item);
SetItemState(0, LVIS_SELECTED, LVIS_SELECTED) を使用して強調表示し、SetItemState(0, ~LVIS_SELECTED, LVIS_SELECTED) を使用して強調表示を解除します。
Properties->Appearance->Always Show SelectionをTRUEに設定するだけです
OnInitialDialog で選択した項目を設定しない場合は、次のコードを使用する必要があります。
m_pSPSMapList->EnsureVisible(nItem, FALSE);
m_pSPSMapList->SetFocus();
m_pSPSMapList->SetItemState(nItem, LVIS_FOCUSED | LVIS_SELECTED,
LVIS_FOCUSED | LVIS_SELECTED);
return FALSE; // OnInitialDialog necessarily must return false