リストコントロールの作成 – プログラミング – Home

リストコントロールの作成
 
通知
すべてクリア

[解決済] リストコントロールの作成


井林
 井林
(@井林)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

CListViewから派生したクラスのOnInitialUpdate()に以下の
ソースを追加しました。

CListCtrl& myLV = GetListCtrl();
LVCOLUMN myCLM;
myCLM.mask = LVCF_TEXT | LVCF_WIDTH;

myCLM.pszText = 氏名;
myCLM.cx = 300;
myLV.InsertColumn( 0, &myCLM );

myCLM.pszText = 住所;
myCLM.cx = 600;
myLV.InsertColumn( 1, &myCLM );

しかし、まったく表示されません。なぜでしょうか?
ダイアログに貼り付けたリストビューのようなリストビューを
作りたいのですが、どうすればいいですか?

開発環境はVC6/Win2000です。
よろしくお願いいたします。


引用未解決
トピックタグ
TAD
 TAD
(@TAD)
ゲスト
結合: 23年前
投稿: 54
 

リストビューのウィンドウスタイルはレポートビューになっていますか?
PreCreateWindow などで、スタイルに LVS_REPORT を追加してみてください。


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

ヘッダーの設定は行っていますか?


返信引用
井林
 井林
(@井林)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

以下のようにしたら、ヘッダ(列のタイトルが表示されている部分)
が表示されました。
しかし、SetItemTextを使っても明細部が表示されません。
何がいけないのでしょうか?

CListCtrl& myLV = GetListCtrl();
myLV.ModifyStyle(NULL,LVS_REPORT ); // 追加
LVCOLUMN myCLM;
myCLM.mask = LVCF_TEXT | LVCF_WIDTH;
myCLM.pszText = 氏名;
myCLM.mask = LVCF_TEXT | LVCF_WIDTH;
myCLM.cx = 100;
myLV.InsertColumn( 0, &myCLM );
myCLM.pszText = 住所;
myCLM.cx = 300;
myLV.InsertColumn( 1, &myCLM );

myLV.SetItemText(1,1,aaa); // 追加
myLV.SetItemText(1,2,bbb); // 追加

また、リストビューにリストコントロールを設置する
オーソドックスなやり方が載っているHPなどはないですか?

よろしくお願いいたします。


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

InsertItemでアイテムを挿入しましょう
というわけで以下を書き換え

>myLV.SetItemText(1,1,aaa); // 追加
>myLV.SetItemText(1,2,bbb); // 追加

int nItem = myLV.InsertItem(myLV.GetCount(),")
myLV.SetItemText(nItem,0,aaa);
myLV.SetItemText(nItem,1,bbb);


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

ついでのお節介ですが。
せっかくMFCなのですから、以下の文をこんな感じで書いた方が見やすいかと思いますよ。

>LVCOLUMN myCLM;
>myCLM.mask = LVCF_TEXT | LVCF_WIDTH;
>myCLM.pszText = 氏名;
>myCLM.mask = LVCF_TEXT | LVCF_WIDTH;
>myCLM.cx = 100;
>myLV.InsertColumn( 0, &myCLM );
>myCLM.pszText = 住所;
>myCLM.cx = 300;
>myLV.InsertColumn( 1, &myCLM );

myLV.InsertColumn(0, 氏名, LVCFMT_LEFT, 100, -1);
myLV.InsertColumn(1, 住所, LVCFMT_LEFT, 300, -1);

では、では。


返信引用
井林
 井林
(@井林)
ゲスト
結合: 22年前
投稿: 6
Topic starter  

教えていただいた通りにしたらできました。
親切に教えていただいて本当にありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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