Octave32
Messages postés18Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention 8 décembre 2008
-
19 nov. 2006 à 08:15
Octave32
Messages postés18Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention 8 décembre 2008
-
20 nov. 2006 à 19:27
Bonjour tous, je vous explique mon problème.
J'ai conçu un petit lecteur mp3s, et puis il y a une fonctionalité pour ajouter un album et toutes ses chansons dans la playlist. Le titre de l'album est parent et toutes les chansons sont des nodes enfants.
Lorsque je veux deleter une nodes enfant, (par keypress = vbkeyback) et bien le parent de la chanson (le titre de l'album) et tous les chansons à l'intérieur de celui-ci disparaisse. Comment seulement supprimer celle qui est sélectionner?
Merci du tips, bonne soirée :)
A voir également:
Retirer une nodes enfant sans tout retirer les autres?
fiko81
Messages postés381Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention 5 septembre 20103 20 nov. 2006 à 12:09
Voila la solution à ton problème :
En fait le bouton keyback est un évenement déjà géré par le treeview : il génère avant toutes manipulations une séléction du noeud parent (enlève le code du keypress pour voir comment réagit le treeview sur le keyback). C'est pour cela que tous les enfants et le parent sont effacés...
Il faut donc utiliser un autre évnement qui est le key_up avec la variable keycode qui retourne le 'suppr' (contrairement au keypress)
Private Sub playlist_KeyUp(KeyCode As Integer, Shift As Integer)
Dim INTnext As Integer
INTnext = playlist.SelectedItem.Index
If KeyCode = vbKeyDelete Then
playlist.Nodes.Remove INTnext
End If
KeyAscii = 0
End Sub
Bonne prog,
Fiko ;-)
Proverbe chinois : Connaître son ignorance est la meilleur part de la connaissance./FONT>
Octave32
Messages postés18Date d'inscriptionmercredi 15 mars 2006StatutMembreDernière intervention 8 décembre 2008 20 nov. 2006 à 04:34
Et voici le code que j'utilise pour ajouter toutes les chansons de la "FileListBox"(FLBchanson) vers la "TreeListView" (playlist)
**Les INTincrement etc placer dans les ajout vers la playlist (nodx = ) sont pour éviter que le programme me dise que La Key Is not Unique **
Private Sub CMDalbumadd_Click()
INTincrement = 0
FLBselecteditem = 0
'INTtrack = On augmente le compteur de chanson pour ajouter la suivante à la suite des autres
INTtrack = (playlist.Nodes.Count + 1)
If FLBchanson.ListCount <> 0 Then
INTincrement3 = INTincrement3 + 1
'Boucle servant à seulement sélectionner le nom du répertoire où se trouve les chansons, et pas son chemin complet
Do
STRlettre = Right(DLBdirectory, INTincrement)
INTincrement = INTincrement + 1
Loop Until InStr(1, STRlettre, "")
STRlettre = Right(STRlettre, (INTincrement - 2))
'On ajoute le nom du repertoire dans la playlist en parent
Set nodX = playlist.Nodes.Add(, , Right(DLBdirectory, INTincrement - 2) + CStr(INTincrement3), Right(DLBdirectory, INTincrement - 2))
'On ne lui met pas de chemin dans le tableau pour que le timer passe par dessus
TABChanson(INTtrack) = ""
'Boucle servant à ajouter les chansons enfant au dossier parent
Do
Set nodX = playlist.Nodes.Add(Right(DLBdirectory, INTincrement - 2) + CStr(INTincrement3), tvwChild, CStr(DLBdirectory) + CStr(playlist.Nodes.Count), FLBchanson.List(FLBselecteditem))
INTtrack = INTtrack + 1
'On ajoute le chemin de la chanson dans le tableau pour pouvoir le passer au MMControl
TABChanson(INTtrack) = DLBdirectory + "" + FLBchanson.List(FLBselecteditem)
FLBselecteditem = FLBselecteditem + 1
Loop Until FLBselecteditem = FLBchanson.ListCount
nodX.EnsureVisible
Else
MsgBox "Le dossier est vide"
End If
End Sub
Et voila, j'espère que c'est pas trop mélangeant, si ya quelque chose que tu te dis, "Huh mais pourquoi ya mit sa là ??" Et bien fais le moi savoir héhé. Je commence en VB depuis peu, il se peut que se soit parfois pas très prope.