sbouquet
Messages postés70Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention15 mars 2004
-
27 nov. 2003 à 20:00
sbouquet
Messages postés70Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention15 mars 2004
-
29 nov. 2003 à 01:13
Bonjour a tous (et a toutes)
Voila a la base j'ai une combobox et un bouton sur mon form, et j'ai le code suivant:
Dim WithEvents ctlCombo As VB.ComboBox
Dim WithEvents ctlCombo2 As VB.ComboBox
Dim WithEvents cltFrame As VB.Frame
Dim TCombo(127) As ComboBox
Dim TCombo2(127) As ComboBox
Dim TFrame(127) As Frame
Private Sub Command1_Click()
For i = 1 To Combo1.Text
Set ctlframe = Me.Controls.Add("vb.frame", "ctlframe" + CStr(i), Form1)
Set TFrame(i) = ctlframe
ctlframe.Caption = "Hub 1"
ctlframe.Visible = True
ctlframe.Top = 600
ctlframe.Left = 300
ctlframe.Width = 5500
ctlframe.Height = 1500
Set ctlCombo2 = Me.Controls.Add("vb.combobox", "ctlcombo2" + CStr(i), ctlframe)
Set TCombo2(i) = ctlCombo2
ctlCombo2.Visible = True
ctlCombo2.Text = "Select"
ctlCombo2.Top = 800
ctlCombo2.Left = 1200
Next i
For i = 2 To Combo1.Text
TFrame(i).Visible = True
TFrame(i).Caption = "Hub " & i
TFrame(i).Top = TFrame(i - 1).Top + TFrame(i - 1).Height + 20
Next i
End Sub
Private Sub ctlCombo_Click()
ctlCombo2.AddItem "Router"
End Sub
Bon en fait c juste une petite partie du code que j'ai pour vous montrer ce que je fais parce que je suis pas sur que j'aurais reussi a bien expliquer. Bref, voila donc ici j'ajoute le mot "Router" a mon 2eme combobox (ctlcombo2) créé dynamiquement si je click sur le premier combobox (ctlcombo), seul pb c qu'il faut que je le fasse pour tous les combobox (TCombo2) qui sont créés et ca seulement si je click sur le premier combobox (TCombo) et le pb est bien entendu je ne peux creer de fonction TCombo(i)_Click() alors est ce possible de le faire et si oui comment ? merci de bien vouloir m'aider sur ce pb delicat.
sbouquet
Messages postés70Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention15 mars 2004 28 nov. 2003 à 19:27
Je crois que j'ai crié victoire trop vite je viens de tester ca ne marche pas. Peut etre pourrais tu me fournir un peu plus d'explication sur le pourquoi faut-il mettre:
Byval Index as Integer
En te remerciant
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 nov. 2003 à 19:37
En fait, lorsque tu charge un contrôle de façon dynamique, tu crée un groupe de contrôle (contrôles avec le même nom, mais avec des numéros d'index différents pour pouvoir y accèder).
Donc, le ByVal Index As Integer définis la propriété index du contrôle crée (pour pouvoir tester l'index du contrôle cliqué par exemple).
DarK Sidious
[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
sbouquet
Messages postés70Date d'inscriptionmardi 4 mars 2003StatutMembreDernière intervention15 mars 2004 29 nov. 2003 à 01:13
Merci pour l'explication, malheureusement ca ne marche apparemment pas ou alors il faut que je fasse appelle a la fonction et dans ce cas le mot "router" est mis dans ma combobox parce que je fais appelle a cette fonction et non parce que j'ai clické sur l'autre combobox. Je commence a devenir fou, je suis si pret de finir mon prog mais je bloque sur cette partie, est ce la l'unique solution ?
En tout cas merci quand meme d'avoir essayer de m'aider
%-6