• ベストアンサー

【vb6】リストビューの複数の項目の削除

お世話になります。 vb6のリストビューについて質問があります。 リストビューでコントロールキーやシフトキーを押して複数項目を選択したあと 選択された任意の項目だけを削除するというロジックを書きたいと思っています。 ですが、どのようにしたら、例えば1~4行目まである内の 2,4行目だけを削除できるのかが全く解りません。 .selectitem.indexだと選択した最後の行(2,4行を選択したら4行目)が インデックスに帰るので特定の行を取得できずお手上げ状態です。 解りづらい説明で申し訳ありませんが、 どうか教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

以下のような感じでどうですか。 Private Sub Command1_Click() Dim i As Integer If ListView1.ListItems.Count = 0 Then Exit Sub For i = ListView1.ListItems.Count To 1 Step -1 If ListView1.ListItems(i).Selected = True Then ListView1.ListItems.Remove (i) End If Next i End Sub

sakruaw
質問者

お礼

お礼が遅くなり申し訳ありません。 教えていただいた内容を充てたら見事に解決しました! 本当にありがとうございます。

関連するQ&A

  • リストビューの項目の内容を変更する方法は?

    お世話になります。 VS2005を使用しています。 VB.NETのリストビューで一覧を作ったのですが、その中の項目の内容をプログラム内から変更することは出来ないのでしょうか? 色々検索してみたのですが見つかりませんでした。 現在、リストビューには4つの項目があり、100行くらい有ります。 (1つ目の項目にはチェックボックス付き) その中の、項目の内容を変更したいのです。 やはり、以下のようにしなければいけないのでしょうか。 1)一旦対象行の内容を保存 2)対象行を削除 3)保存先で内容変更 4)リストビューに再追加 よろしくご享受下さい。

  • Visual Basicでツリービューリストの項目数を増やすには?

    VB4でツリービューコントロールを使ってリストを作成するとある程度以上のノード数になるとindex errorになります。 正確には数えていませんが、感覚的に200行ぐらいです。 この制限を外す方法はありませんか? よろしくお願いします。

  • VB.NETのリストビューの選択行(ブルー/グレー反転)を発生防ぐ方法

    VB.NETのリストビューの選択行(ブルー/グレー反転)を発生防ぐ方法 いつも大変お世話になっています。 VB.NETでの リストビューの選択行(ブルー/グレー反転)を発生させない方法について 御存知の方がおられましたら、ご享受ください。宜しくお願いします。

  • リストビューの項目の追加と選択されている項目

    ソースから動的にリストビューの項目の追加方法 またそのうち選択されているもの(複数選択は行わない)が変わった時に どの項目が選択されているか取得する方法の2つが知りたいのですが。 加えてコンボボックスの項目をソースから動的に追加する方法を教えていただけると嬉しいです。

  • コントロールキー、シフトキーを押した複数選択

    エクスプローラーのように、リストビューの中で、 コントロールキーや、シフトキーを押して、複数の ファイルを選択する、また解除するという処理をVC++ で行いたいんですが、どこかに参考になるHPとか サンプルとかないでしょうか。

  • 【vb6】リストビューへのアイコンの追加

    お世話になります。 vb6のリストビューについて質問があります。 リストビューに作った複数の列(現状はヘッダーで区切っただけの擬似的なもの)に対して、 例えば”1行目の4列目にアイコンを設定する"といった事をやりたいのが方法がわかりません。 グリッドを使えば楽なのは分かっているのですが、今回は見た目の都合上リストビューで作りたいと考えています。 またAPIを使えば画面に絵を貼り付けられるのも承知していますが、そのようなことをしなくても 標準の機能でアイコンを追加することは出来ると昔聞いたもので、APIではない方法を探しています。 どなたかご存知の方がいらっしゃればどうか教えてください。 よろしくお願いします。

  • VBとリストボックス

    こんにちわ。 いまVB6.0sp5でリストボックスに チェックボックス付きのリストを表示し, クリックで複数選択するロジックを組んでいます。 リストに表示するデータ件数がリストボックスの高さを超えるため, 横スクロールさせる必要があります。 そこで,2列目のキャプションをクリックすると, スクロールし,選択した行以外のチェックボックスが見た目, 消えてしまいます。 なお消えたチェックボックスの箇所をクリックすると, その行のチェックボックスが選択された状態で表示されます。 2列目のキャプションをクリックしたときに,ほかの行のチェックボックスを 消さないようにしたいのですが, どうすれば良いでしょうか? 教えてください。 宜しくお願いします。

  • VB6 リストビューのサブアイテムをクリックしてそのサブアイテムの値を

    VB6 リストビューのサブアイテムをクリックしてそのサブアイテムの値を取得したいのですが、サブアイテムのインデックスの取得方法がわかりません。どうすればいいか教えてください。

  • VB6.0のエクセル操作について。

    VB6.0のエクセル操作について。 環境:XP,VB6.0です。 VB6.0でのエクセル操作や印刷についての質問です。 VB6.0で、リストビューに表示されている行のデータをエクセルに移してそれを印刷するというプログラムを組みたいのですが、 流れとしては、 1.リストビューから選択行を取得。 2.選択行の項目を既存のエクセルテンプレートに沿ってエクセルに入力。 (出来れば毎回違う名前で保存したいです。) 3.そのエクセルを印刷。 という流れなんですが、とりあえず1番までは出来ているのですが、 2,3の部分、エクセル操作と印刷の部分が分かりません。 ややこしい質問ですが、どなたかご教授お願いします。

  • VB6を使っています。リストビューのカラムヘッダーの色を変えたい。

    VB6を使っています。リストビューのカラムヘッダーの色を変えたい。 リストビューのカラムヘッダーをクリックしたら、そのカラムヘッダーの文字色が変わるとか、又は背景色が変わるとかしてその列が選択されたと判るようにしたいのですが、可能でしょうか? ColumnHeadersにはForecolorとかFontcolorといったものは無さそうなのでどうすればいいか判りません。 別に色にはこだわりません。 太字でもいいです。列がわかればいいのです。よろしくご指導下さい。

専門家に質問してみよう