リストボックスで1行に複数の項目を表示するには

解決


ロイ坊  2003-08-12 08:06:22  No: 78995  IP: [192.*.*.*]

名前、年齢、職業という感じでリストボックスに表示させて、さらに選択したものを押すと名前だけがテキストに表示されるようなものを作りたいんですが、どうしたらいいんでしょうか?ご教授ください

編集    削除
oku  URL  2003-08-12 09:18:11  No: 78996  IP: [192.*.*.*]

Microsoft Windows Common ControlsのListViewじゃ駄目なんですか?

編集    削除
tak  2003-08-12 20:54:07  No: 78997  IP: [192.*.*.*]

実現可能ですよ。
項目(名前、年齢、職業)が固定長であるならデリミタはあってもなくてもよいですが、あった方が見やすいでしょうね。可変長であるならデリミタは必須ですね。
見た目的に固定長のスペース区切りにでもされるとよいかも。
あと、リストボックスでは横のスクロールができないはずですので、もし、横スクロールさせるならAPIのSendMessageを使えばいけますよ。

編集    削除
クリリン  2003-08-12 21:45:41  No: 78998  IP: [192.*.*.*]

>選択したものを押すと名前だけがテキストに表示されるようなもの
名前、年齢、職業を入れる為の構造体を作って、その構造体を配列化し、
リストボックスのIndexと連動させれば簡単にできます。
type Parsonal
  名前 as string
  年齢 as integer
  職業 as string
end type
public p(10) as parsonal

例:
'データ格納
ListBox1.Add p(0).名前 & " " & cstr(p(0).年齢) & " " & p(0).職業

'データ取得
Text1.text = p(ListBox1.SelectedIndex).名前

こんな感じかな…適当に記述したので、後はご自分で研究してください。

編集    削除
ロイ坊  2003-08-13 05:54:25  No: 78999  IP: [192.*.*.*]

クリリンさんのやり方でうまくいきました。
みなさんありがとうございました!

編集    削除