Création dynamique d'objets [Résolu]

cs_machto 179 Messages postés mercredi 22 janvier 2003Date d'inscription 18 février 2009 Dernière intervention - 21 juil. 2006 à 18:02 - Dernière réponse : cs_machto 179 Messages postés mercredi 22 janvier 2003Date d'inscription 18 février 2009 Dernière intervention
- 23 juil. 2006 à 15:30
Bonsoir,

j'essaie de créer dans une Frame une série de "Option + Command + Line " dont je ne connais pas le nombre à l'avance. J'ai donc choisi la création dynamique avec un index  et j'essaie de les mettre les uns sous les autres. Ca parait simple mais, si les Command et Line sont bien en face, ce n'est pas le cas des Options. Je galère là dessus depuis 2 jours.
Par la suite, le click sur un Option, rendra enabled la Command correspondante (false au départ) et la Line en face reflètera la décision.
Je crois que mon problème est un problème de cohérance de Heigh car pour une Option donnée, il peut y avoir plusieurs Commands et leur ligne assosiée, comme dans un menu
Exemple:
 O  Faire le tour         Région         ____________________
                                  Moyen        ____________________
 O    Stopper              Musique      ____________________
                                    Lumière     ____________________

etc....

Merci de me dire où je me plante et comment faire.
M@chto
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 22 juil. 2006 à 02:26
3
Merci
Re
Si tu as mal calculé la position des Options button, on ne peut pas te le dire !
Essayer de dessiner les controles sur une feuille et évalue le Left et Top de chaque composant, tu n'auras plus qu'à le traduire en code.
Ton histoire de Command qui apparait et ta Line qui reflète : je n'ai pas tout pigé, mais c'est hors du sujet.

Regarde aussi ma réponse à propos de ta Line dans ton précédent Post

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 22 juil. 2006 à 19:38
3
Merci
Re
Si je décrypte ce que tu dis (tu n'es pas tjrs très clair), tu as :
Une Frame de hauteur 990
Un bouton de hauteur 440
Et peux mettre 7 boutons ? Tu comprends bien que ce n'est pas possible !
Revois les dimensions de tes composants, il y a quelque chose qui cloche dans tes explications.
Ton bouton a peut-être une hauteur de 440 à l'origine, mais peut-être modifies-tu sa hauteur par programme ?

En ce qui concerne l'alignement des composants : Si tu mets un bouton en 440 et un Option en 440, ils seront bien en 440, mais si l'option est moins haute que le bouton, c'est sûr, ils ne seront pas alignés.

C'est de la mathématique de base, une histoire de poteaux et d'intervales, pas compliqué, suffit de se concentrer et de dessiner sur papier s'il le faut.

Quant à ta ligne, je n'ai rien compris à ton histoire de curseur et de synchro, pas grave.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 23 juil. 2006 à 01:52
3
Merci
Re
(ton image n'est visible de tout le monde que si elle est visible depuis internet, sur une page perso par exemple. Problème connu et tjrs pas résolu, désolé)

Ok, mais les dimensions que tu me donnes, tu les récupères quand ?
Assures-toi de les lire pendant le run de ton programme.
Fais faire une pause à ton programme et vas dans la fenêtre de debug (Ctrl-G) et tape
? Me.Frame1.Height, Me.Command1.Height
Ont-ils toujours ces valeurs ?

De toute façon, tu dois impérativement lire ces valeurs (et pas les avoir fixé dans le programme) pour faire tes calculs de positionnement.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de cs_Jack
cs_machto 179 Messages postés mercredi 22 janvier 2003Date d'inscription 18 février 2009 Dernière intervention - 22 juil. 2006 à 11:18
0
Merci
Ok et merci.
Pour résumer:
Quand ma Frame1 a une Heigh de 990 et mon Command1(), appartenent à la frame1, une Heigh = 440, je mets pourtant 7 Command1() dans cette hauteur alors que 990/440, ça ne fait que 2!!
Je me trouve donc incapable de calculer la hauteur finale de ma Frame1 quand j'aurai mes 128 command1() - quantité maximale - que je crée dynamiquement.
Et quand je crée x option1() (heigh =440) avec y command1() (heigh = 440 et Font identiques), ça ne tombe pas en face! (Dans la même Frame1)
Je n'y comprends rien.
Quant à la ligne verticale de l'autre message, c'est un "curseur" qui se balade sur mes lines pour visualiser des synchros (évènements générés par les Command1() )
Merci pour la suite également.
M@chto
Commenter la réponse de cs_machto
cs_machto 179 Messages postés mercredi 22 janvier 2003Date d'inscription 18 février 2009 Dernière intervention - 22 juil. 2006 à 20:50
0
Merci
Bonsoir,


c'est justement parce que c'est mathématique que je ne comprends pas. Frame1, le paramètre Heigh est à 990. Command1, le parametre Heigh est à 440, idem pour l'OptionButton. Mon Option1 et mon Command1 représentent en hauteur, graphiquement, visuellement, 1/7° de la hauteur de la Frame1 qui les contient (mais si!). Je les crée en dynamique
Je ne comprends pas quel paramètre intervient pour que les échelles ne soient pas les mêmes.

M@chto
Commenter la réponse de cs_machto
cs_machto 179 Messages postés mercredi 22 janvier 2003Date d'inscription 18 février 2009 Dernière intervention - 23 juil. 2006 à 15:30
0
Merci
Bonjour, j'ai bien à chaque création d'un Option1 et Command1 Heigh=450 et Frame1.Heigh=990.
C'est incompréhensible. Donc je vais faire autrement (je sais pas encore) puisque je sais que je rentre 7 ensembles dans 990 de la Frame.
Par contre, mon problème d'alignement à été résolu par ... des paranthèses (j'ai honte!!)
Un grand merci pour cette aide
M@chto
Commenter la réponse de cs_machto

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.