Connecter deux dialogues entre eux dans une meme application MFC

wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005 - 11 févr. 2005 à 18:09
boumarsel Messages postés 298 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 9 juillet 2008 - 15 févr. 2005 à 10:07
bonjour,
j'ai une application MFC dans laquelle je lis des valeurs de plusieurs variables a des adresses precises a partir d'une carte microprocesseur. Etant donne le grand nombre de variables j'avais un probleme d'espace pour afficher l'ensemble sur une seule boite de dialogue(interface) et donc j'ai insere dans mon interface une seconde boite de dialogue. J'ai un bouton de controle sur la premiere boite de dialogue et qui fait appel a la fonction pour lire les valeurs des variables et les afficher; malheureusement je ne sais pas comment connecter la deuxieme boite a la premiere afin d'appeler la fonction sur la premiere boite uniquement et d'etre en mesure de lire les valeurs desirees sur la deuxieme boite aussi; en resume j'aimerais savoir comment connecter la deuxieme boite de dialogue afin qu'elle reponde a toutes les fonctions que j'appelle sur la premiere boite de dialogue; je suppose que cela est possible mais je n'ai aucune idee de la maniere dont il faut la faire.
Merci de votre attention et vos reponses sont fortement appreciees. Bonne journee
PS: je travaille avec visual c++ 6.0

7 réponses

CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
11 févr. 2005 à 18:31
utilise les pointeurs !!


désolé de pas plus t'aider mais je suis pressé, tchao
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
11 févr. 2005 à 18:39
je te remercie pour ta proposition; je suis une debutante en fait et je ne maitrise pas encore tt a fait les pointeurs, c'est peut-etre bien possible d'utiliser les pointeurs mais je ne vois pas bien comment m'y prendre
je te remercie quand meme pour ta suggestion CriPpLe
0
CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
11 févr. 2005 à 23:19
Dis moi ce que tu veux faire exactement et je pourrai peut être t'aider :)
Est ce que tu appelles ta deuxième boite de dialogue en appuyant par exemple sur un bouton, ou un truc du style ?
Si oui, tu utilises normalement un pointeur sur l'objet CTaSecondeDlg, tu as juste besoin d'utiliser mon_objet_dlg2.Fonction1(); (ou mon_objet_dlg2->Fonction1(); si ton objet est déclaré dynamiquement) par exemple pour accéder à la fonction Fonction1(); de la classe associée à ta deuxième boite de dialogue.

J'espere que je me suis fait comprendre, sinon explique moi bien ton problème pour que je puisse mieux le cerner et essayer de t'aider ;)
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
12 févr. 2005 à 17:09
Je ne connais pas les MFC, mais une boite de dialogue a un identifiant
(handle), donc pour ta deuxième boite de dialogue, suffit de mettre
cette identifiant pour y accèder. non ?

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0

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

Posez votre question
boumarsel Messages postés 298 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 9 juillet 2008 1
13 févr. 2005 à 15:58
selon ce que j'ai compris tu appelles une fonction qui remplit plusieurs variables, les uns tu veux les afficher sur une dialog et le reste sur une autre.
bon tu ajoute le header de la classe de ta 2eme boite de dialogue dans le fichier du code de la premiere, supposons que la classe de la 2eme dialogue est Cd2:
donc tu ajoute ces lignes dans la fonction d'affichage des valeurs;
Cd2 dialog2; cdialog2.DoModal();
la question maintenant est comment associer les valeurs des variables à la 2em dialogue, rien de plus simple tu ajoute des variables membres à la classe de la 2em dialogue et tu les initialisent avant d'appeler DoModal;
Cd2 dialog2;
dialog2.var1= variable1;
dialog2.var2= variable2;
dialog2.DoModal();


note: il vaut mieux que var1 et var2 soit des variables de types CString associés aux controles de la 2em dialogue, ainsi tu t'occupera pas de laffichage il suffira d'appeler UpdateData(FALSE);


++
0
wannalurn Messages postés 47 Date d'inscription lundi 6 novembre 2000 Statut Membre Dernière intervention 26 juillet 2005
14 févr. 2005 à 17:18
je te remercie infiniement boumarsel pour ton explication concise; je l'ai essaye et j'ai un bon debut, juste de petites choses a revoir mais la piste est bonne, merci a toi
je dis aussi merci a CriPpLe et minet03 pour les approches; bonne journee a vous tous
0
boumarsel Messages postés 298 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 9 juillet 2008 1
15 févr. 2005 à 10:07
bonne continuation.
++
0
Rejoignez-nous