tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル リストビューで選択項目削除後にマウス押下状態
投稿日: 2011/08/15(Mon) 14:37
投稿者流星バナナ
 いつも参考にさせていただいています。
 以下のことで悩んでいます。
 対処法等ありましたらご教示願います。


 複数選択可能なリストビューで選択後、ポップアップ
 メニューで選択項目のみ、削除しているのですが、
 削除後にマウス押下状態(マウスの左ボタンを押しながら、
 マウスを動かしている状態)に勝手になってしまいます。
 
 環境 WINXP SP3 VB6SP6

 ■サンプルコード■
 フォームにListViewコントロールを貼付,
 メニューエディタで「mnuR」、「mnuDelete」を作成する
 ※「mnuDelete」は「mnuR」に含まれるメニュー

    Private Sub Form_Load()
      Dim obItem As Object
      With ListView1
         .ColumnHeaders.Add 1, , "TEST1"
         .ColumnHeaders.Add 2, , "TEST2"
        .View = lvwReport
         .MultiSelect = True
            
         Set obItem = .ListItems.Add(, , "あああ")
         Set obItem = .ListItems.Add(, , "いいい")
         Set obItem = .ListItems.Add(, , "ううう")
         Set obItem = .ListItems.Add(, , "えええ")
        Set obItem = .ListItems.Add(, , "おおお")
      End With
          
    End Sub

    Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, _
                                  x As Single, y As Single)
       If Button = vbRightButton Then
          'ポップアップメニューの表示
          PopupMenu mnuR, vbPopupMenuRightButton
       End If
    End Sub

    '■選択をリストから削除する
    Private Sub mnuDelete_Click()
       Dim l          As Long
       Dim myListItem As ListItem
          
       With ListView1
         For l = .ListItems.Count To 1 Step -1
            If .ListItems(l).Selected Then
               .ListItems.Remove (l)
            End If
         Next
       End With

    End Sub

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。