CListCtrlでアイテムをフォーカス&選択状態にしたい – プログラミング – Home

CListCtrlでアイテムをフォーカ...
 
通知
すべてクリア

CListCtrlでアイテムをフォーカス&選択状態にしたい


ララ
 ララ
(@ララ)
ゲスト
結合: 23年前
投稿: 93
Topic starter  

CListCtrlでアイテムをフォーカス&選択状態にしたいので以下のように設定したのです
がうまくいきません。アイテムにフォーカス&選択状態にするやり方をご存知の方、ご
教授ください。よろしくおねがいします。

SetItemState(nItem, // フォーカス&選択状態にしたいアイテムのインデックス
  LVIS_FOCUSED | LVIS_SELECTED, // 状態
  LVIS_FOCUSED | LVIS_SELECTED); // マスク

環境:XP、VC++6.0、MFC、SDKプラットホーム


引用解決済
トピックタグ
ナオーバ
 ナオーバ
(@ナオーバ)
ゲスト
結合: 23年前
投稿: 187
 

こんにちは

記述はあっていますが、どのようにうまくいかないのか?
使用部分のソースがないのでどうしていいかわかりませんが、

例としてCListViewの派生クラスCTmpViewでアイテム番号を渡して選択状態にする関数
// 選択状態にする
void CTmpView::SetSelectState(int nItem)
{
if( nItem < 0 ) nItem = 0; // 負の数の場合は先頭を選択状態にする
CListCtrl& wndList = this->GetListCtrl();
wndList.SetItemState( nItem, LVIS_SELECTED|LVIS_FOCUSED,
LVIS_SELECTED|LVIS_FOCUSED );
}
で使用できます。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

リストコントロールのプロパティで「常に選択を表示」を設定しない場合、
リストコントロール自体にフォーカスが設定されていないと
選択状態は表示されませんが、その辺は大丈夫ですか?


返信引用
ララ
 ララ
(@ララ)
ゲスト
結合: 23年前
投稿: 93
Topic starter  

CListCtrlのCreateのリストコントロールスタイルでLVS_SHOWSELALWAYSフラグを設けて
いるので「常に選択を表示」にはなっていると思います。
以下にリストコントロール作成のソースを記述します。

CListCtrl theListCtrl;
theListCtrl.Create(LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_NOCOLUMNHEADER |
LVS_NOSORTHEADER | LVS_EDITLABELS | WS_EX_ACCEPTFILES | WS_VISIBLE | WS_CHILD,
crc, this, IDC_LIST);

こういう風に作成して

SetItemState(nItem, // フォーカス&選択状態にしたいアイテムのインデックス
  LVIS_FOCUSED | LVIS_SELECTED, // 状態
  LVIS_FOCUSED | LVIS_SELECTED); // マスク

としているのですが、アイテムがフォーカス&選択状態にならないのです。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました