Création dynamique de contrôles en VB
Fermé
poupyman
Messages postés
62
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
28 mars 2004
-
17 mars 2003 à 17:18
beldyn Messages postés 188 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 1 février 2005 - 18 mars 2003 à 17:14
beldyn Messages postés 188 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 1 février 2005 - 18 mars 2003 à 17:14
A voir également:
- Création dynamique de contrôles en VB
- Tableau croisé dynamique - Guide
- Création organigramme - Guide
- Creation compte gmail - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Vb cable - Télécharger - Audio & Musique
3 réponses
beldyn
Messages postés
188
Date d'inscription
jeudi 28 novembre 2002
Statut
Membre
Dernière intervention
1 février 2005
19
18 mars 2003 à 17:14
18 mars 2003 à 17:14
Salut,
J'ai une méthode assez simple:
tu crees un controle indexé, qui sera le seul sur ta feuille lors de la construction.
Ensuite, a chaque fois que tu veux en ajouter un (attention il herite des mêmes propriété que le premier) tu utilses la méthode Load
ex:
Sur une feuille form1, tu places un controle textbox, et tu lui assigne l'index 0 (le plus simple, tu fais un copier/coller du controle, VB te demande si tu veux l'indexer tu répond oui et tu effaces le dernier créé)
Ensuite, dans le load de la feuille tu ajoutes le code suivant
Load me.text1(1)
Load me.text1(2)
Load me.text1(3)
for i = 1 to 3 step 1
me.text1(i).visible=true
me.text1(i).top = me.text1(i-1).top + me.text1(i-1).height + 20
next i
voila, c tout, pour les detruire, faut faire un unload, mais en commencant par le dernier index.
J'ai fait ca de mémoire, il y a peut-être une erreur, dis moi si ca fonctionne.
a+
J'ai une méthode assez simple:
tu crees un controle indexé, qui sera le seul sur ta feuille lors de la construction.
Ensuite, a chaque fois que tu veux en ajouter un (attention il herite des mêmes propriété que le premier) tu utilses la méthode Load
ex:
Sur une feuille form1, tu places un controle textbox, et tu lui assigne l'index 0 (le plus simple, tu fais un copier/coller du controle, VB te demande si tu veux l'indexer tu répond oui et tu effaces le dernier créé)
Ensuite, dans le load de la feuille tu ajoutes le code suivant
Load me.text1(1)
Load me.text1(2)
Load me.text1(3)
for i = 1 to 3 step 1
me.text1(i).visible=true
me.text1(i).top = me.text1(i-1).top + me.text1(i-1).height + 20
next i
voila, c tout, pour les detruire, faut faire un unload, mais en commencant par le dernier index.
J'ai fait ca de mémoire, il y a peut-être une erreur, dis moi si ca fonctionne.
a+
poupyman
Messages postés
62
Date d'inscription
mercredi 5 juin 2002
Statut
Membre
Dernière intervention
28 mars 2004
15
18 mars 2003 à 14:58
18 mars 2003 à 14:58
Ben j'ai pas trop compris ta méthode, mais j'ai trouvé un moyen de faire des 'tableaux de contrôles' (trad by mwa) qui permettent d'avoir des contrôles avec des noms du genre MaZoneDeTexte(i).
Je vais essayer de fouiller dans cette direction
Merci quand même
Loi fondamentale des réseaux :
Un réseau ne fonctionne bien qu'en mono-poste
Je vais essayer de fouiller dans cette direction
Merci quand même
Loi fondamentale des réseaux :
Un réseau ne fonctionne bien qu'en mono-poste
Utilisateur anonyme
17 mars 2003 à 22:56
17 mars 2003 à 22:56
Salut...
Oui moi je sais :o)
Mais la je sais plus par coeur, je te donne une piste, si tu t'en sors pas demain avec, hesite pas a remonter ce post j'ai ca au boulot.
En fait il faut faire un form.controls.add() et il faut que tu regardes les proprietes du add (ou addcontrol peut etre), il doit falloir mettre le nom du controle et son type je crois...
De tete et sans VB sous la main je peux pas t'en dire plus...
. .
\_/
Oui moi je sais :o)
Mais la je sais plus par coeur, je te donne une piste, si tu t'en sors pas demain avec, hesite pas a remonter ce post j'ai ca au boulot.
En fait il faut faire un form.controls.add() et il faut que tu regardes les proprietes du add (ou addcontrol peut etre), il doit falloir mettre le nom du controle et son type je crois...
De tete et sans VB sous la main je peux pas t'en dire plus...
. .
\_/