質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

8201閲覧

C++ InsertItemについて

NaokiPooh

総合スコア21

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2016/10/26 00:53

お世話になっております。
C++を学習中の学生です。
ListControlに列と行を追加しました。
各エディットに入力された文字列をリストに追加していく処理です。
以下ソース

c++

1m_List.InsertColumn(0, "No." , LVCFMT_CENTER, 35); //No列を追加 2m_List.InsertColumn(1, "性別", LVCFMT_CENTER, 35); //性別列を追加 3m_List.InsertColumn(2, "住所", LVCFMT_LEFT, 150); //住所列を追加 4 5 // リストコントロール 行の追加 6 m_List.InsertItem(0,strNo); 7 m_List.InsertItem(1,strType); 8 m_List.InsertItem(2,strHome);

自分のやりたい処理は
エディットに入力後、送信ボタン押下し
・No列にstrNo
・性別列にstrType
・住所列にstrHome
を表示させたいのですが、現状No列に上記3つが表示されてしまいます。
InsertItemの中身をどう記述すればよろしいのでしょうか。

ご教授のほどよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Chironian

2016/10/26 03:20

MFCを使われているようですので、MFCタグも付けて頂けると助かります。
guest

回答2

0

Details(レポート)ビューのリストコントロールのそれぞれの列データのことを「サブ項目」と呼んでいるのですが、InsertItemメソッドでは2番目以降のサブ項目を設定することができません。サブ項目の設定にはSetItemメソッドを使います。文字列のみの場合はSetItemTextメソッドが使えます。こちらの方が引数が少なくて簡単です。

まずはInsertItemでNo.を渡して項目を追加し、その項目に対して残りの性別と住所をそれぞれSetItemTextで設定するという手順になります。

投稿2016/10/26 05:04

catsforepaw

総合スコア5944

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

マニュアルをよく読んでみましょう
InsertItemは行の追加です
とある行の列にアイテムをセットするにはSetItemを使用します
SetItemの説明

int nItem = m_List.InsertItem(省略); //行の追加 m_List.SetItem(nItem,省略); //行中のアイテム追加

一般的にはおそらくこんな風に使うと思います
省略部分は考えてみてください
下記のようなリストでよいならば、これで出来ると思います

No | 性別 | 住所
1 | 男 |○○県○○
2 | 女 |○○県○○
:
:

投稿2016/10/26 02:01

ardin

総合スコア557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問