[リストへもどる]
一括表示

投稿時間:2004/02/25(Wed) 15:21
投稿者名:イヌ
Eメール:
URL :
タイトル:
ListViewに追加
はじめまして。
VB 6.0とwindowsを使ってアプリを作ってます。

Textboxから入力をしてListViewに表示させたいのですが、うまくいきません。
Texeboxは1つしかなく、ボタンを押されたらListViewにどんどん
追加していきたいと思っています。

Dim litem As ListItems
Dim i     As Long

For i = 1 To 5
 @→Set litem = ListView1.ListItems.Add()
   litem(i).SubItems(1) = Text1.Text
 A→Set litem = ListView1.ListItems(i).SubItems(1).Add(Text1.Text)
Next i

このようなかんじでやってはみたのですが
@の方では、『型名が一致しません』のエラー
Aの方では、『修飾子が不正です』のコンパイルエラーが出てしまいます。

どのようにしたらよいでしょうか?

投稿時間:2004/02/25(Wed) 16:28
投稿者名:ak
Eメール:
URL :
タイトル:
Re: ListViewに追加
> Dim litem As ListItems
> Dim i     As Long
>
> For i = 1 To 5
>  @→Set litem = ListView1.ListItems.Add()
>    litem(i).SubItems(1) = Text1.Text
>  A→Set litem = ListView1.ListItems(i).SubItems(1).Add(Text1.Text)
> Next i

> @の方では、『型名が一致しません』のエラー

>Dim litem As ListItems
型が間違っています。ListItemsでなくListItem

> Aの方では、『修飾子が不正です』のコンパイルエラーが出てしまいます。
Aのような構文ありません。

> どのようにしたらよいでしょうか?

VBのヘルプは読まれたのでしょうか?

この程度の事ならヘルプを見ればすぐ分かるはずです。

この程度の事でこの掲示板を利用するのはどうかと思いますよ。

まずは自分でよく調べてみてください。

VBのヘルプを見れば解決するような質問に対してはレスはつかないと思いますよ。

投稿時間:2004/02/25(Wed) 17:19
投稿者名:イヌ
Eメール:
URL :
タイトル:
Re^2: ListViewに追加
レスありがとうございます。
ヘルプを参照しなくてはいけないのは、十分承知です。
ですが、なぜかインストールされてないのです・・・
ネットでもたくさん調べて、試してみたのですが
思うように動いてくれません。

初心者なもので申し訳ありません。
教えて頂けないでしょうか?

投稿時間:2004/02/25(Wed) 17:45
投稿者名:ak
Eメール:
URL :
タイトル:
Re^3: ListViewに追加
> レスありがとうございます。
> ヘルプを参照しなくてはいけないのは、十分承知です。
> ですが、なぜかインストールされてないのです・・・
> ネットでもたくさん調べて、試してみたのですが
> 思うように動いてくれません。
>
> 初心者なもので申し訳ありません。
> 教えて頂けないでしょうか?

ヘルプがない・・・

そういう事なら仕方がないですね。

ヘルプは今後の為にも早急に手に入れといた方が良いですよ。

今回のように一覧表示形式で表示したい場合は値を設定する前に
ViewプロパティをlvwListまたはlvwReportに設定しヘッダーを
必要分用意しておく必要があります。

・Viewプロパティ(プロパティウィンドウで設定可)
 0:lvwIcon       :大きいアイコンで表示
 1:lvwSmallIcon :小さいアイコンで表示
 2:lvwList    :一覧表示
 3:lvwReport     :詳細表示

・ヘッダー設定方法(プロパティウィンドウの列見出しタブで設定可)
 ListView1.ColumnHeaders.Add , , "タイトル"
 必要な列の数だけ指定します。

値の設定方法は
Dim ItmX    As ListItem
    
Set ItmX = ListView1.ListItems.Add("index", "key", "text", "icon", "smallIcon")
ItmX.SubItems(1) = "text"

とりあえずこれで最低限の表示はできるはずです。
他のプロパティに関しては色々試しながらやってみてください。

サンプルを記述しておきますので参考にしてください。

'(*.frm) フォームにListView,TextBox,CommandButtonを各1個配置してください。
Option Explicit

Private Sub Form_Load()
    Dim ii  As Integer
    
    'リストビュー初期設定
    ListView1.View = lvwReport  '詳細表示
    'ヘッダーの設定
    ListView1.ColumnHeaders.Add , , ""
    For ii = 1 To 5
        ListView1.ColumnHeaders.Add , , "SubItems(" & ii & ")"
    Next ii
    
End Sub

Private Sub Command1_Click()
    Dim ii      As Integer
    Dim ItmX    As ListItem
    
    Set ItmX = ListView1.ListItems.Add(, , Text1.Text)
    For ii = 1 To ListView1.ColumnHeaders.Count - 1
        ItmX.SubItems(ii) = ii & " " & Text1.Text
    Next ii

End Sub

投稿時間:2004/02/26(Thu) 11:01
投稿者名:イヌ
Eメール:
URL :
タイトル:
Re^4: ListViewに追加
レスありがとうございました。
細かい所まで教えていただき感謝です。
ヘルプはなるべく早く入れるようにします。

Private Sub Command1_Click()
  Dim ItmX    As ListItem
    
  Set ItmX = ListView1.ListItems.Add()
  ItmX.SubItems(2) = " " & Text2.Text
  ItmX.SubItems(5) = " " & Text1.Text
End Sub

いろいろ試してみた結果このようになりました。
どうもありがとうございました。

もうひとつわからないことがあります。

リストビューで何も入力されてないところが選択できるようになってしまいます。
リストビューではアイテムが入力されているところだけが選択できるようにしたいのですが・・・
プロパティの設定で変えられるのでしょうか?
もし変えられないのならどのようにしたらよいのでしょうか?

投稿時間:2004/02/26(Thu) 11:33
投稿者名:イヌ
Eメール:
URL :
タイトル:
Re^5: ListViewに追加
申し訳ありません。
手違いでした。
もう解決です。