タイトル : リストビューで選択項目削除後にマウス押下状態 投稿日 : 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 |