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