12

ClistCtrl は、ヘッダーのないレポート ビューで単一選択および単一列に設定されます。

試してみSetItemState(0,LVIS_SELECTED,LVIF_STATE)まし
SetSelectionMark(int index)たが、これらは機能しません。

4

6 に答える 6

12

また、アイテムの状態を更新した後に SetSelectionMark を呼び出す必要があります。

SetItemState(prev_item, ~LVIS_SELECTED, LVIS_SELECTED);
SetItemState(new_selected_item, LVIS_SELECTED, LVIS_SELECTED);
SetSelectionMark(new_selected_item);
于 2010-12-30T18:53:55.040 に答える
4

SetItemState(0, LVIS_SELECTED, LVIS_SELECTED) を使用して強調表示し、SetItemState(0, ~LVIS_SELECTED, LVIS_SELECTED) を使用して強調表示を解除します。

于 2009-12-03T20:47:44.103 に答える
4

Properties->Appearance->Always Show SelectionTRUEに設定するだけです

于 2014-09-23T09:02:33.287 に答える
0

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
于 2018-02-06T14:16:41.777 に答える