掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
リストビュー(オーナードロー中)で特定の行を非表示にするには? (ID:73186)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>質問なのですが、「全体リスト」の「リスト」はリストビューのことでしょうか? >それとも、データの入った構造体のことでしょうか? 「表示対象としている元データの一覧」のことです。 InsertItem()ではLVITEMを使うと思いますが、 LVS_OWNERDATAの場合InsertItem()自体を行いません。 表示すべきデータはCListView(CListCtrl)に与える必要が ないので当たり前ですね。逆に言うとCListCtrlに標示データ を保管(移管)しておくことは出来ないということです。 データの一覧はCListViewのあづかりしらないところで 管理しなければなりません。 >・LVN_GETDISPINFOでの「表示用リスト」の処理 それでやりたければそれでも良いですが、 すでにLVS_OWNERDRAWFIXEDしてあったら外す必要はないということです。 自分は、LVS_OWNERDRAWFIXEDの方が、つまりDrawItem()を ハンドリングしたほうが表示をコントロールしやすいと思います。 コードも単純になるのではないでしょうか。 まぁ実際に両者ともコードしてみたらどうでしょう。 個人的な感想ですがLVN_GETDISPINFOを使うのははっきり言って 「うんざり」ですね。つまり自分のコードでは常に void MyListView::OnLvnGetdispinfo( NMHDR *pNMHDR, LRESULT *pResult) { *pResult = 0;} です(笑)。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.