私の環境で、CListCtrlのSetView()を使用するとコンパイルエラーとなります。原因
は、CListCtrlのクラスのメンバーではないとのことです。MSDNを確認するとCListCtrl
のクラスにはSetView()は定義されております。
OS:Windows XP SP3
.NET:VS .net 2003
質問1
OS依存でコンパイルエラーになっているのでしょうか。エラーの回避方法はありますで
しょうか。
質問2
リストのカラム(LVCOLUMN構造体)を作成したいのですが、SetView()を使用できなくて
も問題ないでしょうか。
具体的なエラー内容を提示した方が良いと思います。
状況が良くわかりませんけれど、ダイアログリソースなら
リソース上で表示タイプをきちんと設定していれば、
特に問題ないと思います。
但し、何を意図してSetViewを呼び出しているのかと言う部分が
全く説明されていないので断言は出来ないです。
状況説明は出来る限り詳細にお願いします。
CListCtrl::SetView の宣言が #if (_WIN32_WINNT >= 0x0501) で囲まれています。
stdafx.h の先頭で #define _WIN32_WINNT 0x0501 とでもすれば使えるようになるでしょ
う。
ただし、こうして作ったプログラムの最低動作環境は Windows XP となります。2000/Me
以前では動きません。
下記を参考にリストビューを作成しております(ダイアログベースではなくSDIベースで
作成しております。)
http://www.g-ishihara.com/mfc_sd_03.htm
上記のコードをそのまま利用したところ、SetViewでエラーとなったためSetView部分をコ
メントアウトしたところ、InsertColumnでカラムを追加しても、ウィンドウ上にカラムが
出力されませんでした。そこで、SetViewとカラムとの関係について質問させていただい
た次第です。
質問を変えさせていただきますが、SetViewとカラムとは何か関係があるのでしょうか。
リストコントロールには表示モードが幾つかあることはご存知でしょうか?
表示モードによってはInsertColumnの結果が画面上には出てこないこともあります。
リストコントロールの表示モードについて調べてみる事をお勧めします。
確か、なにも指定しないとアイコンモードで表示されたような気がします。
一覧モードか詳細モードでないと表示されないと思いますよ。
定数のLV_VIEW_DETAILSはMSDNに載っていますか?
これ、LV_VIEW_DETAILSが使える特定環境の
OCXとかの話だと思うのですけど。
もしくは自己満足のページ
PATIO さんの言うように
ModifyStyleuなどでレポート形式に変えてみては?
回答ありがとうございました。
ModifyStyleでLVS_REPORTを使用することで解決しました。