Je suis débutant en VB et je souhaiterais gérer un double-clic sur des
icones dans un ListView.
Je souhaiterais récupérer l'identificateur de l'icone double-cliqué dans le
ListView, et si le double-clic est fait ailleurs dans la fenêtre là où il
n'y a rien, que cela enlève la sélection d'une icone précédemment cliqué et
que cela ne fasse rien.
Problème : je suis débutant !
Si j'insère dans mon code "Private sub ListView1_DblClick(index As Integer)"
comme donné dans la doc msdn, il y a une erreur à la compilation sur cette
ligne ! Je n'y comprend pas grand chose !
Un développeur charitable aurait-il un exemple de derrière les fagots ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ng
Salut,
Voici un code permettant de tester la sélection :
Private Sub Form_Load() ListView1.ListItems.Add , , "test1" ListView1.ListItems.Add , , "test2" ListView1.ListItems.Add , , "test3" ListView1.ListItems.Add , , "test4" ListView1.ListItems.Add , , "test5" End Sub
Private Sub ListView1_DblClick() 'est-ce qu'un item est selectionné ? If Not ListView1.SelectedItem Is Nothing Then MsgBox "Item #" & ListView1.SelectedItem.Index & " : " & ListView1.SelectedItem.Text End If End Sub
Et le code suivant correspond peut être plus à ce que tu recherches :
'dernière position de la souris Dim iDernXPos As Integer Dim iDernYPos As Integer
Private Sub Form_Load() ListView1.ListItems.Add , , "test1" ListView1.ListItems.Add , , "test2" ListView1.ListItems.Add , , "test3" ListView1.ListItems.Add , , "test4" ListView1.ListItems.Add , , "test5" End Sub
Private Sub ListView1_DblClick() 'est-ce qu'un item est selectionné ? Dim oItem As ListItem 'renvoit un pointeur vers l'item sous le curseur Set oItem = ListView1.HitTest(iDernXPos, iDernYPos) If Not oItem Is Nothing Then 'est-ce un item ok ? MsgBox "Item #" & oItem.Index & " : " & oItem.Text End If Set oItem = Nothing End Sub
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) 'enregistre la dernière position de la souris iDernXPos = x iDernYPos = y End Sub
Il y a aussi une solution par subclassing (message LVM_HITTEST) si cela ne te convient pas.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Enzo a écrit :
bonjour,
Je suis débutant en VB et je souhaiterais gérer un double-clic sur des icones dans un ListView. Je souhaiterais récupérer l'identificateur de l'icone double-cliqué dans le ListView, et si le double-clic est fait ailleurs dans la fenêtre là où il n'y a rien, que cela enlève la sélection d'une icone précédemment cliqué et que cela ne fasse rien. Problème : je suis débutant ! Si j'insère dans mon code "Private sub ListView1_DblClick(index As Integer)" comme donné dans la doc msdn, il y a une erreur à la compilation sur cette ligne ! Je n'y comprend pas grand chose !
Un développeur charitable aurait-il un exemple de derrière les fagots ?
Merci Denis
Salut,
Voici un code permettant de tester la sélection :
Private Sub Form_Load()
ListView1.ListItems.Add , , "test1"
ListView1.ListItems.Add , , "test2"
ListView1.ListItems.Add , , "test3"
ListView1.ListItems.Add , , "test4"
ListView1.ListItems.Add , , "test5"
End Sub
Private Sub ListView1_DblClick()
'est-ce qu'un item est selectionné ?
If Not ListView1.SelectedItem Is Nothing Then
MsgBox "Item #" & ListView1.SelectedItem.Index & " : " &
ListView1.SelectedItem.Text
End If
End Sub
Et le code suivant correspond peut être plus à ce que tu recherches :
'dernière position de la souris
Dim iDernXPos As Integer
Dim iDernYPos As Integer
Private Sub Form_Load()
ListView1.ListItems.Add , , "test1"
ListView1.ListItems.Add , , "test2"
ListView1.ListItems.Add , , "test3"
ListView1.ListItems.Add , , "test4"
ListView1.ListItems.Add , , "test5"
End Sub
Private Sub ListView1_DblClick()
'est-ce qu'un item est selectionné ?
Dim oItem As ListItem
'renvoit un pointeur vers l'item sous le curseur
Set oItem = ListView1.HitTest(iDernXPos, iDernYPos)
If Not oItem Is Nothing Then 'est-ce un item ok ?
MsgBox "Item #" & oItem.Index & " : " & oItem.Text
End If
Set oItem = Nothing
End Sub
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As
Single, y As Single)
'enregistre la dernière position de la souris
iDernXPos = x
iDernYPos = y
End Sub
Il y a aussi une solution par subclassing (message LVM_HITTEST) si cela ne
te convient pas.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Enzo <desoxyadenosine@hotmail.com> a écrit :
bonjour,
Je suis débutant en VB et je souhaiterais gérer un double-clic sur des
icones dans un ListView.
Je souhaiterais récupérer l'identificateur de l'icone double-cliqué
dans le ListView, et si le double-clic est fait ailleurs dans la
fenêtre là où il n'y a rien, que cela enlève la sélection d'une icone
précédemment cliqué et que cela ne fasse rien.
Problème : je suis débutant !
Si j'insère dans mon code "Private sub ListView1_DblClick(index As
Integer)" comme donné dans la doc msdn, il y a une erreur à la
compilation sur cette ligne ! Je n'y comprend pas grand chose !
Un développeur charitable aurait-il un exemple de derrière les fagots
?
Private Sub Form_Load() ListView1.ListItems.Add , , "test1" ListView1.ListItems.Add , , "test2" ListView1.ListItems.Add , , "test3" ListView1.ListItems.Add , , "test4" ListView1.ListItems.Add , , "test5" End Sub
Private Sub ListView1_DblClick() 'est-ce qu'un item est selectionné ? If Not ListView1.SelectedItem Is Nothing Then MsgBox "Item #" & ListView1.SelectedItem.Index & " : " & ListView1.SelectedItem.Text End If End Sub
Et le code suivant correspond peut être plus à ce que tu recherches :
'dernière position de la souris Dim iDernXPos As Integer Dim iDernYPos As Integer
Private Sub Form_Load() ListView1.ListItems.Add , , "test1" ListView1.ListItems.Add , , "test2" ListView1.ListItems.Add , , "test3" ListView1.ListItems.Add , , "test4" ListView1.ListItems.Add , , "test5" End Sub
Private Sub ListView1_DblClick() 'est-ce qu'un item est selectionné ? Dim oItem As ListItem 'renvoit un pointeur vers l'item sous le curseur Set oItem = ListView1.HitTest(iDernXPos, iDernYPos) If Not oItem Is Nothing Then 'est-ce un item ok ? MsgBox "Item #" & oItem.Index & " : " & oItem.Text End If Set oItem = Nothing End Sub
Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) 'enregistre la dernière position de la souris iDernXPos = x iDernYPos = y End Sub
Il y a aussi une solution par subclassing (message LVM_HITTEST) si cela ne te convient pas.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Enzo a écrit :
bonjour,
Je suis débutant en VB et je souhaiterais gérer un double-clic sur des icones dans un ListView. Je souhaiterais récupérer l'identificateur de l'icone double-cliqué dans le ListView, et si le double-clic est fait ailleurs dans la fenêtre là où il n'y a rien, que cela enlève la sélection d'une icone précédemment cliqué et que cela ne fasse rien. Problème : je suis débutant ! Si j'insère dans mon code "Private sub ListView1_DblClick(index As Integer)" comme donné dans la doc msdn, il y a une erreur à la compilation sur cette ligne ! Je n'y comprend pas grand chose !
Un développeur charitable aurait-il un exemple de derrière les fagots ?
Merci Denis
ng
Ok !
Y a pas d quoi ;-)
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ "Denis & Camilou" a écrit dans le message de news:
OK, j'ai testé. Le premier code me fait le problème que j'ai rencontré, à savoir que si on double-clic ailleurs que sur un item, le dernier item sélectionné est pris en compte. Le deuxième code est ce que je souhaitais, encore merci. Enzo
"ng" a écrit dans le message news:
> Salut, > > Voici un code permettant de tester la sélection : > > Private Sub Form_Load() > ListView1.ListItems.Add , , "test1" > ListView1.ListItems.Add , , "test2" > ListView1.ListItems.Add , , "test3" > ListView1.ListItems.Add , , "test4" > ListView1.ListItems.Add , , "test5" > End Sub > > Private Sub ListView1_DblClick() > 'est-ce qu'un item est selectionné ? > If Not ListView1.SelectedItem Is Nothing Then > MsgBox "Item #" & ListView1.SelectedItem.Index & " : " & > ListView1.SelectedItem.Text > End If > End Sub > > Et le code suivant correspond peut être plus à ce que tu recherches : > > 'dernière position de la souris > Dim iDernXPos As Integer > Dim iDernYPos As Integer > > Private Sub Form_Load() > ListView1.ListItems.Add , , "test1" > ListView1.ListItems.Add , , "test2" > ListView1.ListItems.Add , , "test3" > ListView1.ListItems.Add , , "test4" > ListView1.ListItems.Add , , "test5" > End Sub > > Private Sub ListView1_DblClick() > 'est-ce qu'un item est selectionné ? > Dim oItem As ListItem > 'renvoit un pointeur vers l'item sous le curseur > Set oItem = ListView1.HitTest(iDernXPos, iDernYPos) > If Not oItem Is Nothing Then 'est-ce un item ok ? > MsgBox "Item #" & oItem.Index & " : " & oItem.Text > End If > Set oItem = Nothing > End Sub > > Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x
As
> Single, y As Single) > 'enregistre la dernière position de la souris > iDernXPos = x > iDernYPos = y > End Sub > > Il y a aussi une solution par subclassing (message LVM_HITTEST) si cela
ne
> te convient pas. > > -- > Nicolas G. > FAQ VB : http://faq.vb.free.fr > API Guide : http://www.allapi.net > Google Groups : http://groups.google.fr/ > MZ-Tools : http://www.mztools.com/ > > Enzo a écrit : > > > bonjour, > > > > Je suis débutant en VB et je souhaiterais gérer un double-clic sur des > > icones dans un ListView. > > Je souhaiterais récupérer l'identificateur de l'icone double-cliqué > > dans le ListView, et si le double-clic est fait ailleurs dans la > > fenêtre là où il n'y a rien, que cela enlève la sélection d'une icone > > précédemment cliqué et que cela ne fasse rien. > > Problème : je suis débutant ! > > Si j'insère dans mon code "Private sub ListView1_DblClick(index As > > Integer)" comme donné dans la doc msdn, il y a une erreur à la > > compilation sur cette ligne ! Je n'y comprend pas grand chose ! > > > > Un développeur charitable aurait-il un exemple de derrière les fagots > > ? > > > > Merci > > Denis > >
Ok !
Y a pas d quoi ;-)
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
"Denis & Camilou" <desoxyadenosine@hotmail.com> a écrit dans le message de
news: OjwIaWEAEHA.3056@TK2MSFTNGP11.phx.gbl...
OK, j'ai testé.
Le premier code me fait le problème que j'ai rencontré, à savoir que si on
double-clic ailleurs que sur un item, le dernier item sélectionné est pris
en compte.
Le deuxième code est ce que je souhaitais, encore merci.
Enzo
"ng" <ng@babeuk.net> a écrit dans le message news:
ulovaFEAEHA.4012@tk2msftngp13.phx.gbl...
> Salut,
>
> Voici un code permettant de tester la sélection :
>
> Private Sub Form_Load()
> ListView1.ListItems.Add , , "test1"
> ListView1.ListItems.Add , , "test2"
> ListView1.ListItems.Add , , "test3"
> ListView1.ListItems.Add , , "test4"
> ListView1.ListItems.Add , , "test5"
> End Sub
>
> Private Sub ListView1_DblClick()
> 'est-ce qu'un item est selectionné ?
> If Not ListView1.SelectedItem Is Nothing Then
> MsgBox "Item #" & ListView1.SelectedItem.Index & " : " &
> ListView1.SelectedItem.Text
> End If
> End Sub
>
> Et le code suivant correspond peut être plus à ce que tu recherches :
>
> 'dernière position de la souris
> Dim iDernXPos As Integer
> Dim iDernYPos As Integer
>
> Private Sub Form_Load()
> ListView1.ListItems.Add , , "test1"
> ListView1.ListItems.Add , , "test2"
> ListView1.ListItems.Add , , "test3"
> ListView1.ListItems.Add , , "test4"
> ListView1.ListItems.Add , , "test5"
> End Sub
>
> Private Sub ListView1_DblClick()
> 'est-ce qu'un item est selectionné ?
> Dim oItem As ListItem
> 'renvoit un pointeur vers l'item sous le curseur
> Set oItem = ListView1.HitTest(iDernXPos, iDernYPos)
> If Not oItem Is Nothing Then 'est-ce un item ok ?
> MsgBox "Item #" & oItem.Index & " : " & oItem.Text
> End If
> Set oItem = Nothing
> End Sub
>
> Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x
As
> Single, y As Single)
> 'enregistre la dernière position de la souris
> iDernXPos = x
> iDernYPos = y
> End Sub
>
> Il y a aussi une solution par subclassing (message LVM_HITTEST) si cela
ne
> te convient pas.
>
> --
> Nicolas G.
> FAQ VB : http://faq.vb.free.fr
> API Guide : http://www.allapi.net
> Google Groups : http://groups.google.fr/
> MZ-Tools : http://www.mztools.com/
>
> Enzo <desoxyadenosine@hotmail.com> a écrit :
>
> > bonjour,
> >
> > Je suis débutant en VB et je souhaiterais gérer un double-clic sur des
> > icones dans un ListView.
> > Je souhaiterais récupérer l'identificateur de l'icone double-cliqué
> > dans le ListView, et si le double-clic est fait ailleurs dans la
> > fenêtre là où il n'y a rien, que cela enlève la sélection d'une icone
> > précédemment cliqué et que cela ne fasse rien.
> > Problème : je suis débutant !
> > Si j'insère dans mon code "Private sub ListView1_DblClick(index As
> > Integer)" comme donné dans la doc msdn, il y a une erreur à la
> > compilation sur cette ligne ! Je n'y comprend pas grand chose !
> >
> > Un développeur charitable aurait-il un exemple de derrière les fagots
> > ?
> >
> > Merci
> > Denis
>
>
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/ "Denis & Camilou" a écrit dans le message de news:
OK, j'ai testé. Le premier code me fait le problème que j'ai rencontré, à savoir que si on double-clic ailleurs que sur un item, le dernier item sélectionné est pris en compte. Le deuxième code est ce que je souhaitais, encore merci. Enzo
"ng" a écrit dans le message news:
> Salut, > > Voici un code permettant de tester la sélection : > > Private Sub Form_Load() > ListView1.ListItems.Add , , "test1" > ListView1.ListItems.Add , , "test2" > ListView1.ListItems.Add , , "test3" > ListView1.ListItems.Add , , "test4" > ListView1.ListItems.Add , , "test5" > End Sub > > Private Sub ListView1_DblClick() > 'est-ce qu'un item est selectionné ? > If Not ListView1.SelectedItem Is Nothing Then > MsgBox "Item #" & ListView1.SelectedItem.Index & " : " & > ListView1.SelectedItem.Text > End If > End Sub > > Et le code suivant correspond peut être plus à ce que tu recherches : > > 'dernière position de la souris > Dim iDernXPos As Integer > Dim iDernYPos As Integer > > Private Sub Form_Load() > ListView1.ListItems.Add , , "test1" > ListView1.ListItems.Add , , "test2" > ListView1.ListItems.Add , , "test3" > ListView1.ListItems.Add , , "test4" > ListView1.ListItems.Add , , "test5" > End Sub > > Private Sub ListView1_DblClick() > 'est-ce qu'un item est selectionné ? > Dim oItem As ListItem > 'renvoit un pointeur vers l'item sous le curseur > Set oItem = ListView1.HitTest(iDernXPos, iDernYPos) > If Not oItem Is Nothing Then 'est-ce un item ok ? > MsgBox "Item #" & oItem.Index & " : " & oItem.Text > End If > Set oItem = Nothing > End Sub > > Private Sub ListView1_MouseDown(Button As Integer, Shift As Integer, x
As
> Single, y As Single) > 'enregistre la dernière position de la souris > iDernXPos = x > iDernYPos = y > End Sub > > Il y a aussi une solution par subclassing (message LVM_HITTEST) si cela
ne
> te convient pas. > > -- > Nicolas G. > FAQ VB : http://faq.vb.free.fr > API Guide : http://www.allapi.net > Google Groups : http://groups.google.fr/ > MZ-Tools : http://www.mztools.com/ > > Enzo a écrit : > > > bonjour, > > > > Je suis débutant en VB et je souhaiterais gérer un double-clic sur des > > icones dans un ListView. > > Je souhaiterais récupérer l'identificateur de l'icone double-cliqué > > dans le ListView, et si le double-clic est fait ailleurs dans la > > fenêtre là où il n'y a rien, que cela enlève la sélection d'une icone > > précédemment cliqué et que cela ne fasse rien. > > Problème : je suis débutant ! > > Si j'insère dans mon code "Private sub ListView1_DblClick(index As > > Integer)" comme donné dans la doc msdn, il y a une erreur à la > > compilation sur cette ligne ! Je n'y comprend pas grand chose ! > > > > Un développeur charitable aurait-il un exemple de derrière les fagots > > ? > > > > Merci > > Denis > >