cs_Axen
Messages postés49Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention24 mars 2010
-
23 oct. 2007 à 17:42
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
24 oct. 2007 à 11:36
Bonjour,
je souhaiterais pouvoir sélectionner une ligne (unique) dans ma flexgrid de façon automatique, en rapport avec ma playlist windows media player, la flexgrid est en fait un affichage de la playlist.
Voila un bout de code pour avoir une meilleure idée :
Private Sub TimerCompteur_Timer()
Dim Pl As IWMPPlaylist
Dim j As Integer, i As Integer
Dim Cible As String
FrmPlayer.LblCompteur.Caption = FrmPlayer.wmp.Controls.currentPositionString
'recupere le nom du média en cours
Cible = FrmPlayer.wmp.Controls.currentItem.Name
'recupere la playlist actuelle dans Pl
Set Pl = FrmPlayer.wmp.currentPlaylist
j = Pl.Count
For i = 0 To j - 1
'compare le nom média avec le nom de la playlist pour récupérer son index
If Cible = Pl.Item(i).Name Then
'sélectionne la ligne correspondant à l'index de la playlist
FrmPlaylist.FlexPlaylist.RowSel = i
Exit For
End If
Next i
End Sub
Le problème qui se pose avec cette méthode, c'est que l'ancienne ligne reste sélectionnée. Comme si je fesais un multiselect avec la touche shift. Donc a la lecture du premier media, pas de souci mais au second, 2 lignes sont sélectionnées et ainsi dessuite !
La seule réponse que j'ai pu trouver, c'est un code du style (résultat encore pire) :
Private Sub FlexPlaylist_SelChange()
frmplaylist.FlexPlaylist.RowSel = frmplaylist.FlexPlaylist.Row
End Sub
je n'ai plus qu'une ligne sélectionnée mais l'ancienne