Problème evenement

pi7438 Messages postés 94 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 16 avril 2004 - 8 juin 2003 à 14:56
Delbeke Messages postés 200 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 18 novembre 2005 - 9 juin 2003 à 19:47
salut, je cree un controle dynamiquement comme suit :

Dim lab(750) As label

i_boutton = i_boutton + 1
Set lab(i_boutton) = form1.Controls.Add("vb.label", nom)

lab(i_boutton).Visible = True
lab(i_boutton).Caption =" caption"
lab(i_boutton).BackStyle = 0

le problème , c'est que je ne sais pas comment recupérer les evenement (click, mousemove ........) sur ce label.

merci d'avance pour votre aide.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juin 2003 à 17:02
En fait, pour créer des controles en live, tu as deux solutions :
- la tienne : mais je crois qu'il n'est pas possible de générer de code associé
- l'autre :
En mode création, tu crées un Label avec les caractéristiques qui te plaisent, tu le rends invisible (visible = False) et tu lui mets l'index 0 (propriétés)
Ensuite, quand tu veux ajouter un label, tu fais
Load MonLabel(index)
MonLabel(index).Visible = True
MonLabel(index).Top = x
MonLabel(index).Move x, y
Pas besoin de dimensionner
Bien sûr, tu peux le décharger avec Unload MonLabel(index)
Pour le code associé, il faut que tu le crées en mode création. Comme il s'agit d'un contrôle indexé, tu auras un paramètre supplémentaire dans l'évenement :
MonLabel_Click(Index As Integer)
Il faudra bien sûr en tenir compte dans le code :
MonLabel(index).Caption = "gnagnagna"

Cette dernière technique est valable pour tous les controles, si tu les indexes.

Vala
Jack
0
Delbeke Messages postés 200 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 18 novembre 2005
9 juin 2003 à 19:47
En fait, en interne, vb passe par une collection contenant les composants et c'est cette collection qui répercute les événements des composants vers l'interface en fournissant l'index du composant ayant généré l'événement.

Comme l'a indiqué Jack, il n'y a aucun problème pour VB . sauf avec Vb.Net qui ne possède pas cette fonctionalité. C'est en partie pour cela que je suis pas passé à Vb.Net car mon style de programmation utilise les groupe de composants de façon intensive.

Jean-Luc
0
Rejoignez-nous