リストビューに表示されている項目を全選択するには?

解決


さめ児  2004-06-10 09:27:15  No: 113858  IP: [192.*.*.*]

一つのボタンを使用して、一括で選択したいのですが、どう組めば良いのでしょうか?
  また、リストビューのデータを選択し、他のデータに貼り付けるにはどうしたらいいのでしょうか?FileCopyを使うことは分かっているのですが、ファイル名を指定せずに、その時々に選んだファイルを使ってやりたいので組み方を教えて頂きたい。

編集 削除
特攻隊長まるるう  2004-06-10 10:06:10  No: 113859  IP: [192.*.*.*]

>一つのボタンを使用して、一括で選択したいのですが、どう組めば良いのでしょうか?
スレッドが変わった場合、環境は再度明記してください。特に[VB6.0]か[VB.NET]かの
違いは大きいのです。
[VB6.0]
全ての ListItems で Selected プロパティを True に設定してください。
>また、リストビューのデータを選択し、他のデータに貼り付けるにはどうしたらいいのでしょうか?
>FileCopyを使うことは分かっているのですが
質問が曖昧です。通常リストビューのデータというと表示されている文字列と
解釈できますが、確実ではありません。構造体などを関連付けすることもできると
思いますし…表示されている文字列としても FileCopy との関連性が全くありません。
『他のデータに貼り付ける』とか言われても他のデータがファイルなのか
他のコントロールなのか…貼り付けるという行動自体もファイルをコピーして
移動するだけなのか、ファイルのデータとして書き込むのか…。
ヘルプで使われているような標準的な表現を心掛けてください。
…でもまあ、それが理解できてくる頃にはその言葉でヘルプを
検索すれば、質問しなくても普通に書いてある内容ですが…(汗)

今回の場合
1.リストビューの(複数)選択されている文字列を取り出す方法
2.文字列(フルパス)を使用してファイルをコピーする方法
と予想しますが、質問するなら別けて質問すべきでしょう。
2.は FileCopy そのものですので質問するまでも無いと思います。
1.は FileCopy は全く関係ないです。
[VB6.0]
全ての ListItems で Selected プロパティが True な ListItems
の Text プロパティから取得してください。

編集 削除
さめ児  2004-06-10 11:00:04  No: 113860  IP: [192.*.*.*]

環境:Windows2000、VB6.0 SP5

リストビュー項目の複数選択については、
Private Sub cmdAllChoice_Click()
    
    '' 変数宣言
    Dim lnglvIndex As Variant   'リストビューのIndex格納変数
    
    '' 全て選択状態(True)にする
    For Each lnglvIndex In ListView1.ListItems
        lnglvIndex.Selected = True
    Next lnglvIndex
    
    '' リストビューにフォーカスを移す
    ListView1.SetFocus
    
End Sub
で解決しました。

編集 削除
特攻隊長まるるう  2004-06-10 11:52:16  No: 113861  IP: [192.*.*.*]

Variant 型を使わないようにするならこんなのとか
[VB6.0]
    Dim i As Integer
    With Me.ListView1
        For i = 1 To .ListItems.Count
            .ListItems(i).Selected = True
        Next
    End With

編集 削除
さめ児  2004-06-10 12:03:48  No: 113862  IP: [192.*.*.*]

解決です。

有難う御座いました。

編集 削除
魔界の仮面弁士  2004-06-10 12:23:07  No: 113863  IP: [192.*.*.*]

> Dim lnglvIndex As Variant   'リストビューのIndex格納変数

・変数名に「lng」の接頭辞を付けるのは、Long型の時だけにした方が良いでしょう。
・コメント部に「Index格納」とありますが、ここにはIndexは渡されません。(ListItemが渡されます)
・この場合は、「As Variant」よりも、「As ListItem」の方が望ましいかと。

編集 削除
さめ児  2004-06-10 13:45:49  No: 113864  IP: [192.*.*.*]

「As Variant」→「As ListItem」に変更しておきます。

返信、有難う御座います。

編集 削除