CListCtrl 選択しているアイテムを反転させる。

[戻る]
かわしま 2005/05/02(月) 09:21:13
はじめて投稿いたします。
CListCtrlで選択しているアイテムを反転させたいのですが、
やり方がわかりません。
イメージとしては、エクスプローラーのメニューバーの中にある「選択の切り換え」をやりたいで
す。
お力をお貸しください。

通りすがり 2005/05/02(月) 13:29:34
ためしてないんで自信はありませんが

状態取得
GetItemState(nItemNo, LVIS_SELECTED)

選択設定
SetItemState(nItemNo, LVIS_SELECTED, LVIS_SELECTED)

選択解除 
SetItemState(nItemNo, 0, LVIS_SELECTED)

かわしま 2005/05/02(月) 14:28:13
[[解決]]
ありがとうございました。
動作確認済みソースです。


// 選択の切り換え処理
CListCtrl& ListCtrl = GetListCtrl();
for(int i = 0; i<ListCtrl.GetItemCount(); i++){

  // 状態を取得
  if( ListCtrl.GetItemState(i, LVIS_SELECTED) == FALSE ){

    ListCtrl.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);// 選択状態
  }else{
     ListCtrl.SetItemState(i, 0, LVIS_SELECTED);// 選択解除
  }
}

古いスレッドには追加発言できません。