VC++でリストビューを使用するには? – プログラミング – Home

VC++でリストビューを使用するには?
 
通知
すべてクリア

[解決済] VC++でリストビューを使用するには?


よこ
 よこ
(@よこ)
ゲスト
結合: 25年前
投稿: 1
Topic starter  

はじめまして、”よこ”といいます。
VC++を始めてまだ間も無い私ですが早くも壁にあたってしまいました…

リストビューを使用したいのですが、うまくいきません。
他のホームページを参考にしようとはしたのですが、ダイアログボックスまでルーチンで組まれていたため、初心者の私にはあまり理解できませんでした。

リストビューのレポート形式です。
コラムヘッダの宣言、行の追加、言ってしまうと作業のほとんどです。
行いたい処理は、配列の中のデータを一行づつ表示していきたいのですが…

只今、藁をも掴む気持ち…

あと、これは今後の参考にお聞きしたいのですが
おすすめの書籍・HPなんてありますか?
どんなものでもかまいません!!
やはり、やるからには役に立たせたいので、教えてもらえるとすごく嬉しいです。

お手数ですがよろしくおねがいします。


引用未解決
トピックタグ
SNOWMAN
 SNOWMAN
(@SNOWMAN)
ゲスト
結合: 25年前
投稿: 1
 

こんにちは。間違ってたらごめんなさい。ダイアログボックスにリストビューを貼り付けたら、リストビューのプロパティのスタイルタブの表示コンボボックスをReportにします。そしたらOnInitDialogかどっかで
こんな感じで宣言します。この場合だとLISTが最初のタイトルSUBLISTがその次のタイトルになります。
static char* lpTitel[2] = { LIST , SUBLIST};
そしたらタイトルをリストに挿入します。今回はタイトル文字の2倍の幅を取ってタイトルを挿入することにします。下記の感じに書きます。
static int iWidth[2] ;

//表示文字の幅を計算して設定します
for ( int i = 0 ; i < 2 ; i++ ){
iWidth[i] = m_List.GetStringWidth(lpTitel[i]) * 2 ;
//設定
m_List.InsertColumn( i, lpTitel[i], LVCFMT_LEFT, iWidth[i], -1 );
}

そうするとタイトルが入るはずです。
次に行の追加ですが、例えばリストをm_Listと切ったとすると
m_List.InsertItem( 0, あああ );
こんな感じになります。一行目の一列目にあああが入ります。
m_List.InsertItem( 1, いいい );
だと二行目の一列目にいいいが入ります。

また
m_List.SetItemText( 0, 1, ううう );
とすると一行名の2列目にうううが入ります。
同じようにSetItemTextの一番目の引数と二番目の引数の数字を変えれば好きなところに、データを挿入することが出来ます。

解答になったでしょうか。
頑張って下さい。
では。


返信引用
よこ
 よこ
(@よこ)
ゲスト
結合: 25年前
投稿: 9
 

まず、SNOWMANさんに大感謝。
ここのHPを盛り上げて下さっている方々にも感謝です。

OnInitDialogまでの、メンバ変数、メッセージハンドラ宣言辺りでも戸惑ってしまいましたが
リストビューの問題もなんとか解決。
現在このブラウザの裏で無事動いておます。

ありがとうございました。

今後も何とかVC++を味わっていこうと思いますので、
判らない部分をまたお聞きすると思いますが、よろしくお願いします。
それでは、また。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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