Chargement dynamique de label ou autres controles

Résolu
cs_yannn Messages postés 130 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 janvier 2009 - 7 mars 2007 à 09:32
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 7 mars 2007 à 13:07
Salut a tous,

Aujourd'hui, une colle, en tout cas pour moi !!!
je cherche a creer dynamiquement des labels a partir du caption d'autres labels... compliquer a expliquer ... exemple :
Label1(0).caption = no_drive
label1(1).caption= USB
label1(2).caption=HD_drive
...

et je voudrais appliquer l'idee suivante :
for i=0 to ...
load label1(i).caption
next i

pour avoir
label1(0).name=no_drive
label1(1).name=USB
label1(2).name=HD_drive

voyez vous ?

Merci

14 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 mars 2007 à 10:43
essaye ce petit exemple avec 2 picturebox

Private Sub Command1_Click()
 Set Picture2.Container = Picture1
 Picture2.Move 0, 0
 Picture2.Visible = True
End Sub
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 mars 2007 à 09:37
Bonjour,

Un caption est une chaîne de caractères et on ne peut se référer à un contrôle par la chaîne de caractères correspondant à son nom !

Une seule exception connue : lorsque (mais ce n'est pas le cas) le contrôle existe déjà dans la collection controls
(et alors controls("toto") pour se référer au contrôle nommé toto)
0
cs_yannn Messages postés 130 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 janvier 2009
7 mars 2007 à 09:39
alors comment puis je faire pour renommer un label.name dynamiquement ?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
7 mars 2007 à 09:39
Salut,
Tu ne peux pas faire ce que tu souhaites puisque les contrôles faisant partie d'un groupe de contrôle on FORCEMENT TOUS le même nom mais diffèrent par leur propriété index. Ils auront donc tous le nom Label1
Ouu alors je n'ai rien compris a ce que tu désirais faire.
@+: Ju£i?n
Pensez: Réponse acceptée
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 mars 2007 à 09:41
La propeiété Name n'est accessible qu'en mode création et ne peut être modifiée au runtime !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 mars 2007 à 09:43
Salut Julien,

Il veut créer un contrôle dont le nom serait celui qui figure dans le caption d'un autre contrôle (ici un label) et veut le faire en utilisant la méthode load (qui correspond à la duplication de contrôles déjà exostants) !!!
0
cs_yannn Messages postés 130 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 janvier 2009
7 mars 2007 à 09:44
OK !
bon va encore falloir que je sois genial :p je rigole ....
merci pour ces eclairsissement ! je comprennais pas ou etait mon erreur !
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
7 mars 2007 à 09:45
Re,
salut [auteurdetail.aspx?ID= 615490 jmfmarques] ,
> [auteurdetail.aspx?ID=14659 yannn] : En fait si tu veux créer dynamiquement ton propre label tu peux essayer la fonction suivante.
Mais chaque label seront uniques il ne feront pas parti d'un groupe de contrôle.
Private Sub AddLabel(ByVal LblName As String)
   
   Call Me.Controls.Add("VB.Label", LblName)
   With Me.Controls(LblName)
       .Visible = True
       .Width = 2000
       .Top = 0
       .Left = 50
       .Caption = "Label dynamique"
   End With

End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_yannn Messages postés 130 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 janvier 2009
7 mars 2007 à 09:47
justement julien, derriere il faut que je puisse creer USB1(0), USB1(1),....
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
7 mars 2007 à 09:52
Salut,
Non mais il y a deux choses à comprendre.
Tu peux très bien créer des USB1(0) USB1(1), tant que tu veux MAIS ils s'appelleront TOUJOURS USB1 tu n'as pas le choix. en revanche si tu veux créer un label en spécifiant le nom il faut utiliser la fonction précédente.

Sinon si tu veux pouvoir faire référence au label par leur "nom" ET utilise run groupe de contrôles, tu peux toujours placer le "nom" dans la propriété Tag de ton objet USB1(X). Tu feras ensuite une recherche pour voir si USB1(X).Tag = no_drive ou USB ou que sais je encore.
Voila en espérant t'éclairer un peu

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_yannn Messages postés 130 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 janvier 2009
7 mars 2007 à 10:00
oui. Mais ca aurait été plus facile pour la suite !!!
Merci de ton aide ... et de votre aide !

Toute autre question :
est il possible  de creer une picturebox dans une autre picturebox :
picture1(0) dans picture2(0)
picture1(1) dans picture2(1)
picture1(2) dans picture2(2)
...
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
7 mars 2007 à 10:39
oui, en utilisant la propriété container
0
cs_yannn Messages postés 130 Date d'inscription mercredi 4 septembre 2002 Statut Membre Dernière intervention 5 janvier 2009
7 mars 2007 à 10:50
merci pout tout ca !
les pictures box marchent impec !
CU
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
7 mars 2007 à 13:07
et maintenant une source de premier choix pour aider à la création dynamique à partir d'un control(0)

++
PCPT [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous