Comment changer la limite du nombre de champs sur le dialogue

wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005 - 3 mars 2005 à 17:14
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005 - 4 mars 2005 à 18:31
Bonjour
Je cree une application MFC sur visual c++ 6.0 et cette interface contient un grand nombre de labels, d'edits box etc... J'ai remarque que le nombre maximal que le dialogue permet est de 255; alors j'aimerais savoir comment changer ce nombre pour repondre a mes besoins. Dans le cas ou ce ne serait pas possible, c'est-a-dire que ce nombre soit fixe a 255 et inchangeable, pourriez-vous me proposer une idee pour resoudre ce probleme. L'option d'ajouter un autre dialogue est malheureusement a ecarter car on m'a impose une seule fenetre de dialogue pour cette partie du projet.
Merci et vos reponses me seront fort utiles car je suis completement bloquee.

13 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 mars 2005 à 17:38
Cette limitation est intrinsèque au système, au dela tu dois les créer à l'exécution par des CreateWindowEx.

ciao...
BruNews, MVP VC++
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
3 mars 2005 à 17:45
hummm et comment devrais-je le faire stp? je suis novice avec les MFC application, merci bcp pour ta reponse
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 mars 2005 à 18:00
Va voir les méthodes Create() de CWnd etc...
ymca2003 t'en dira plus quand il passera par ici, pas de MFC pour moi.

ciao...
BruNews, MVP VC++
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
3 mars 2005 à 18:09
oups excuse-moi pour le message precedent , mauvaise manipulation
merci bcp pour tes reponses, j'attendrai ymca, a l'aide
0

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

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 mars 2005 à 18:14
Regarde les posts précédents sur le forum, il est intervenu il y a peu, pose lui ta question dessous et ainsi il aura une alerte mail.

ciao...
BruNews, MVP VC++
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
3 mars 2005 à 18:27
merci beaucoup pour ta preoccupation, au fait je n'aimerais pas importuner les autres en infiltrant mes problemes dans les leurs, je sais pas si tu saisis, je vais attendre en esperant qu'il passe par ici; je chercherai egalement s'il y a un moyen de le contacter a travers son profil; merci encore infiniement
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
3 mars 2005 à 18:41
Alors dans le OnInitDialog, il faut créer les contrôles supplémentaires. Le mieux, c'est de déclarer des variables du type CEdit, CStatic... dans la classe de la boîte de dialogue. Ensuite, il suffit d'invoquer la méthode Create sur ces objets. En général il faut passer un rectangle avec la position et la taille, le style (WS_CHILD et WS_VISIBLE plus des styles propres aux contrôles ES_xx, SS_xx...). et le parent (pointeur sur la boîte de dialogue en l'occurence this).

Le fait que l'on t'impose 1 seule boîte de dialofgue pour l'interface ne t'empêche pas (je pense) de séparer les contrôles dans plusieurs boîtes de dialogues enfant que tu place dans la boîte de dialogue principale.
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
3 mars 2005 à 20:03
merci ymca, j'ai l'impression qu'il faut donc traiter separement chaque control(label, edit box, etc...) que j'ajoute et cela sera tres difficile car j'ai enormement de controls; aussi concernant la fonction create dont tu parles peux-tu me donner un exemple avec les parametres a mettre(excuse-moi mais j'ai commence MFC ya pas longtemps).
Si je comprends bien il n'y a donc aucune maniere plus simple d'augmenter directement le nombre de controls? actuellement la limite est fixee a 255 et j'ai l'impression qu'il y a un endroit ou je n'ai qu'a changer ce nombre, mais ou je l'ignore
merci encore ymca
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
3 mars 2005 à 20:10
Non on ne change pas cette limite, Windows refusera de charger ta ressource s'il doit créer + de 255 handles pour les childs.

ciao...
BruNews, MVP VC++
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
3 mars 2005 à 20:23
hummm c'est embetant, je verrai bien quoi faire, merci Brunews, c'est sympa
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
4 mars 2005 à 16:50
j'ai une petite approche de solution et j'aimerais savoir si c'est possible; j'ai pense a utiliser les Group Box, ma question est la suivante: est-ce que en groupant par exemple 200 controls dans un group box, le dialogue considere un seul control(le group box avec ses 200 elements) ou tous les controls? si c'est le premier cas cela resoudra mon probleme mais je ne sais pas si c'est faisable et si c'est le cas comment le faire. Merci bien pour vos reponses
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
4 mars 2005 à 17:26
'group box' détermine les tabulations à l'intérieur de ce groupe, je ne pense pas que ça résoudra ton problème.

Si tu as par exemple 20 radio boutons axclusifs alors remplace par un combo, c'est une possiblité.

ciao...
BruNews, MVP VC++
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
4 mars 2005 à 18:31
merci pour la promptitude dans ta reponse, j'suis desesperee
0
Rejoignez-nous