Private Sub ListView1_DblClick()
dim RM as long
RM = Empty
RM = Me.ListView1.SelectedItem.Index
End sub
i need to restrict this event only if i double clichk on a cell of column 1 of listview
restrict event
-
- 4StarLounger
- Posts: 449
- Joined: 27 Jun 2021, 10:46
Re: restrict event
You need to check the X position of the mouse cursor when the click occurs, if it is less than the first column's width then you have clicked in the first column, so exit the dblclick event
-
- PlatinumLounger
- Posts: 4266
- Joined: 26 Apr 2010, 17:36
Re: restrict event
Infact! Googling docet...
Tell me to use hittest, but never used.
Example?
Tks for siggestion.
-
- 4StarLounger
- Posts: 449
- Joined: 27 Jun 2021, 10:46
Re: restrict event
I don't think hittest gains you anything
Try something like
Try something like
Code: Select all
Option Explicit
Private myX As Single
Private Sub Form_Load()
' Initialise listview with some data
Dim wombat As ListItem
Set wombat = ListView1.ListItems.Add(, , "Example")
wombat.ListSubItems.Add , , "some dummy data"
wombat.ListSubItems.Add , , "some more dummy data"
Set wombat = ListView1.ListItems.Add(, , "Example2")
wombat.ListSubItems.Add , , "some dummy data"
wombat.ListSubItems.Add , , "some more dummy data"
Set wombat = ListView1.ListItems.Add(, , "Example3")
wombat.ListSubItems.Add , , "some dummy data"
wombat.ListSubItems.Add , , "some more dummy data"
End Sub
Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
myX = x
End Sub
Private Sub ListView1_DblClick()
If myX <= ListView1.ListItems(1).Left + ListView1.ListItems(1).Width Then
Debug.Print "Column 0"
Exit Sub
End If
Debug.Print "Not column 0"
End Sub
-
- PlatinumLounger
- Posts: 4266
- Joined: 26 Apr 2010, 17:36
Re: restrict event
TKS, I can test toomorrow.SpeakEasy wrote: ↑04 Apr 2023, 11:38I don't think hittest gains you anything
Try something like
Code: Select all
Option Explicit Private myX As Single Private Sub Form_Load() ' Initialise listview with some data Dim wombat As ListItem Set wombat = ListView1.ListItems.Add(, , "Example") wombat.ListSubItems.Add , , "some dummy data" wombat.ListSubItems.Add , , "some more dummy data" Set wombat = ListView1.ListItems.Add(, , "Example2") wombat.ListSubItems.Add , , "some dummy data" wombat.ListSubItems.Add , , "some more dummy data" Set wombat = ListView1.ListItems.Add(, , "Example3") wombat.ListSubItems.Add , , "some dummy data" wombat.ListSubItems.Add , , "some more dummy data" End Sub Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) myX = x End Sub Private Sub ListView1_DblClick() If myX <= ListView1.ListItems(1).Left + ListView1.ListItems(1).Width Then Debug.Print "Column 0" Exit Sub End If Debug.Print "Not column 0" End Sub