Faire clignoté un label lors d'une données dans une listview

cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
- 14 août 2005 à 19:27
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
- 14 août 2005 à 23:06
bonsoir
est il possible de faire clignoté un label ou une image quand il y à une données dans une listview ,si oui comment
merci
@ plus
petchy

22 réponses

Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 19:46
Private Sub Timer1_Timer()

Static Bool As Boolean

If ListView1.ListItems.Count = 0 Then

Timer1.Interval = 1000

Exit Sub

Else

Timer1.Interval = 200

End If

Bool = Not Bool

If Bool Then

Label1.ForeColor = vbWhite

Else

Label1.ForeColor = vbBlack

End If

End Sub


Daniel
0
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
14 août 2005 à 19:55
Petite rectification au code de daniel :



Private Sub Timer1_Timer()

If ListView1.ListItems.Count = 0 Then Exit Sub

Label1. Visible = Not Label1.Visible

End Sub


Car si le fond du label n'est pas en blanc, l'effet ne sera pas forcément esthétique.


DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 20:02
Salut Daniel et DarK Sidious

le code marche bien ,mais le problème c'est que la listview se trouve dans une autre form que le label.
j'ai mis ton code dans ma FORM principale mais le label ne clignote pas,sauf quand j'ouvre la FORM ou la listview est active.
mais ,merci pour votre intervention
petchy
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 20:09
rajoute le nom de l'autre forme devant


If Not Form2.Visible Then Exit Sub

If Form2.ListView1.ListItems.Count = 0 Then ...


Daniel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 20:15
je récapitules:









Private Sub Timer1_Timer()

If Not Form2.Visible Or Form2.ListView1.ListItems.Count = 0 Then

Timer1.Interval = 1000

Label1.Visible = True

Exit Sub

Else

Timer1.Interval = 200

End If

Label1.Visible = Not Label1.Visible

End Sub


Daniel
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 20:29
Re
toujours un bleme,le Label clignote si la form est ouverte,mais à l'ouverture de mon programme elle ne clignote pas,voila le code
Private Sub Timer5_Timer()


Static Bool As Boolean
If Not emprunt.Visible Or emprunt.List.ListItems.Count = 0 Then
Timer5.Interval = 1000
Label5.Visible = True
Exit Sub
Else
Timer5.Interval = 200
End If
Label5.Visible = Not Label5.Visible


End Sub
Petchy
0
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
14 août 2005 à 20:32
Un petit conseil : au démarrage de ton prog, dans le Form_Load de la feuille principale :

Call Load(FeuilleQuiContientLeListView)



Ainsi, même si elle n'est pas visible au démarrage, le label clignotera
(ou pas) selon le contenu du listview. Car le problème vient du fait
que la feuille n'existe pas au démarrage, il faut donc la charger pour
pouvoir accèder au listview et y lire le contenu.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 20:44
DarK Sidious
j'ai rajouté se code dans ma form principale: Call Load(emprunt.List),mais j'ai une erreur "361,impossible de charger ou décharger cet objet"
petchy
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 20:50
enlève le test

le Label va clignoter même si emprunt pas visible

If <strike>Not emprunt.Visible Or</strike> emprunt.List.ListItems.Count = 0 Then




'pas oublier d'enlever le Timer au déchargement de la feuiile sinon elle se recharge

Private Sub emprunt_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Form1.Timer1.Enabled = False

End Sub


Daniel
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 20:59
1 - si tu remplis la ListView de emprunt, pas la peine de faire de Load, la forme est déjà chargée:

Load emprunt


2 - si tu remplis pas la ListView de emprunt, donc le Label ne doit pas clignoter, alors pourquoi la charger ?


Daniel
0
cs_DARKSIDIOUS
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
14 août 2005 à 20:59
Uniquement :



Call Load(emprunt)


Si ta feuille s'appelle emprunt bien entendu !


DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 21:02
NB: comme le Timer fait appel à emprunt la forme sera chargée automatiquement.

Daniel
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 21:15
ReRe
c'est pas possible ça ne fonctionne pas,sauf quand ma form "emprunt" est activée.Je ne comprends pas
Petchy
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 21:22
remplace Form2 par emprunt.

la ListView de Form2 est remplie

le timer est activé

la form2 est chargée mais pas visible

le Label1 clignote dès le départ.



Option Explicit



Private Sub Form_Load()

Form2.ListView1.ColumnHeaders.Add , , "nom"

Form2.ListView1.ListItems.Add , , "daniel"

Timer1.Enabled = True

End Sub



Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)

Unload Form2

End Sub



Private Sub Timer1_Timer()

If Form2.ListView1.ListItems.Count = 0 Then

Timer1.Interval = 1000

Label1.Visible = True

Exit Sub

Else

Timer1.Interval = 200

End If

Label1.Visible = Not Label1.Visible

End Sub


Daniel
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 21:45
je ne comprend plus,le label ne clignote pas au démarrage de mon programme mais au lancement de la form "emprunt",pourtant j'ai mis les codes comme tu as dit
petchy
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 21:54
ça devrait marcher pourtant

essayes de sortir ce que trouves le timer.







Private Sub Timer1_Timer()

Text1.Text = Form2.ListView1.ListItems.Count

If Form2.ListView1.ListItems.Count = 0 Then

Timer1.Interval = 1000

Label1.Visible = True

Exit Sub

Else

Timer1.Interval = 200

End If

Label1.Visible = Not Label1.Visible

End Sub

Daniel
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 22:01
je suis désolé Daniel,mais c'est pareil le textbox et le label sont actif si la FORM "emprunt" est affiché.
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 22:17
quoi ?

le TextBox, le Label, Le Timer tout ça c'est dans la forme principale ok ?

donc ç'est "actif", (je sais pas que ça veut dire ????) même si "emprunt" est présent ou pas

donc le Timer tourne, enfin doit tourner puisqu'on a mis Enabled = True, et quelque chose doit s'afficher dans la TextBox.



quelque chose m'échappe ...

la forme principale est elle visible ?

n'y aurait pas une boucle dans la Form_Load qui empêche le chargement ?

et que fait la Forme "emprunt" de spécial ?

Activate ne se fait pas si pas chargé, seul Load se fait.


Daniel
0
cs_petchy
Messages postés
710
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
19 mai 2015
3
14 août 2005 à 22:35
je veut dire actif,c'est quand la FORM est visible
la FORM principle est visble au lancement du prog
il n'y à rien de spéciale dans la form_load qui puisse empéché le chargement
et la FORM "emprunt" n'a rien de spécial,elle affiche les films empruntés
petchy
0
Gobillot
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
33
14 août 2005 à 22:51
ben alors si la forme principale est visible donc le label est visible et la Textbox aussi (enfin celle pour le test)

est ce que le Timer tourne ?

ça peut pas être autrement, alors que contient donc: Form2.ListView1.ListItems.Count



si la ListView est remplie ça doit être différent de zéro non ?

hum je penses à une chose, si les paramètres de la ListView sont mis dans "emprunt" ça peut poser problème !!!!

définition des colonnes tout ça s'est fait où ?


Daniel
0