- 締切済み
ListViewでサブアイテムが表示されない
VC++2008にて、プロジェクト形式がWindowsエクスプローラの MFCアプリケーションにてプログラムを作成しています。 ListViewにて、InsertColumn、InsertItem、SetItemTextを 行い、カラムと項目のデータ設定をしているのですが、 ListViewを詳細表示にすると、設定したサブアイテムが 表示されない場合があります。 InsertItemで設定した文字列は、設定した分だけ、 左端にキチンと表示されているのですが、 それ以降のサブアイテムについては、表示されている行もあれば 表示されていない行もあります。 1行に複数のサブアイテムを設定しているのですが、 表示されている場合は、サブアイテム全てが表示されており、 表示されていない場合は、サブアイテム全てが表示されていません。 デバッグで追う限り、データ設定自体は問題なく、 表示される行と、されない行について、 差異を探してみましたが、別段、違ったことはしていません。 ListViewについては、PreCreateWindowにて cs.style |= TVS_SHOWSELALWAYS; cs.style |= LVS_SINGLESEL; cs.style &= ~LVS_TYPEMASK; 上記、設定を行っています。 この他に、何か設定が足りなくて、表示されていないのでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
回答No.1
こういった場合 現象の再現できる最小限のコードと その手順を明示したほうがいいでしょう また現状の表示画像などを投稿してみるのもひとつの方法ですよ
お礼
再現できる最小限コードを作成していったところ、自己解決しました。 アプリ終了時に、アイコン/一覧/詳細のどれを表示させていたかを iniファイルに書き込み、次に立ち上げた時に、 その情報から、初期の表示タイプを設定していたのですが、 値をDWORDではなくintで、設定・読み込みしていたことが 問題でした。 新規にプロジェクトを作成して、バグを洗い出すのも 常套手段ということを、焦り過ぎて忘れていました。 アドバイスの結果、バグ改修に至りました。 ありがとうございました。