Groupe d'objet et unload

Messages postés
29
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
30 mai 2004
- - Dernière réponse : cs_aurbadguy
Messages postés
29
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
30 mai 2004
- 29 avril 2004 à 11:20
voila mon porblème
j'ai une application qui affiche plusieurs objets
label button shape
pour creer un groupe je fais un copier/coller au depart
mais dans mon applications le nombre de ces objets et défini par le nombre d'occurrence dans une BD
donc quand j'insere dans la BD il faudra que le nombre d'objet soit mise a jour
or quand je unload tous mes objets( je suis obligé car il faut que l'ordre respecte celui de la BD)et que je les load pour les reafficher bah il me raffiche que le premier
donc je voudrais savoir s'il n'y a pas moyen de creer un groupe d'une autre facon que copier/coller ... ??
Afficher la suite 

5 réponses

Messages postés
192
Date d'inscription
vendredi 2 mars 2001
Statut
Membre
Dernière intervention
10 janvier 2006
0
Merci
Oui tu peux le faire (si j'ai bien compris ta question) en fait les groupes de contrôles en VB sont simplement des contrôles Indexés, cad des contrôles de meme type bien sûr et disposant du meme nom, ils sont différenciés par un index entier!

donc si j'ai bien compris tu veux créer des controles en temps réel, et bien c'est assez simple, il te suffit de créer un controle en mode création (prenons l'exemple d'un label) que tu appel LBL, dans les propriétés de LBL tu met Index=0
Puis dans le code d'initialisation de ton Programme (logikement après l'ouverture de ta base de données) tu fait ::

For I = 1 To MaxControle
Load LBL(I)
LBL(I).Top = LBL(I - 1).Top + LBL(I - 1).Height + 50
LBL(I).Visible = True
Next

Par défaut un controle chargé en temps réel se place au dessous de son père, donc pour que ton contrôle soit visible tu dois lui assigner sa position (propriété .Top et .left du contrôle) c'est ce qu'illiustre la ligne de code suivante ::

LBL(I).Top = LBL(I - 1).Top + LBL(I - 1).Height + 50

ca permet d'homogénéiser les contrôles sur une colonne (les contrôles sont placés les uns en dessous des autres)

En éspérant avoir répondu a ton problème
Have A Good and PeaceFull Code ;)
GEFF

Geff >:)
Messages postés
29
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
30 mai 2004
0
Merci
le truc s'est que je fais comme tu as dit dans ma form_load
apres je les unload tous ( i compris celui qui a pour index 0)
et la mon problème est que je ne pe que reloader le premier
celui qui a index = 0
un bout de code pourrait d'aider a conprendre ce que je ve dire ?
Messages postés
192
Date d'inscription
vendredi 2 mars 2001
Statut
Membre
Dernière intervention
10 janvier 2006
0
Merci
A Mon avis tu ne dois pas décharger le controle d'index 0, normalement tu ne devrais pas avoir de probleme en faisant ainsi

Geff >:)
Messages postés
29
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
30 mai 2004
0
Merci
bon alors dans l'ordre
je met sur ma form mes composants avec l'index a 0
ensuite dans mon appli je load mes composants de l'index 1 a nbcomposant
puis je les unload de l'indice 1 a nbcomposant
puis je les load de l'indice 1 a nbcomposant +1 -> et la ca foire :
le premier se load correctement ( celui d'indice 1 et les autres ne se chargent pas )
Messages postés
29
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
30 mai 2004
0
Merci
bon ca marche merci du coup de pouce