eklouste
Messages postés18Date d'inscriptionmercredi 5 mars 2008StatutMembreDernière intervention 1 septembre 2008
-
21 août 2008 à 17:35
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 2016
-
22 août 2008 à 19:17
salut
Je travaille en MFC et j'aimerai utiliser une donnée rentrée dans une première boite de
dialogue et l'utiliser (ou dans un premier temps l'afficher) dans une EDITBOX située dans une seconde boite de dialogue.Svp aidez moi ou un tutorial serait le bien venu merci encore.
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 21 août 2008 à 21:58
Salut,
Si tu utilises le standart Parent/enfant il suffit d'utiliser dans l'enfant :
((castTypeDialogParent)GetParent())->méthodeDuParent();
Si les relations parent/enfant ne sont pas utilisées,
il suffit de passer au constructeur de la 2eme boite de dlg un pointeur sur la premiere, puis d'utiliser des get/set
pour atteindre des méthodes membres.
// dialog 1 (non modale mais marche pareil avec modale)
Dialog1 dlg1;
dlg1.Create(IDD_DLG1);
dlg1.ShowWindow(SW_SHOW);
// a un endroit ou la portée de dlg1 est accessible :
Dialog2 dlg2(&dlg1);
dlg2.Create(IDD_DLG2);
dlg2.ShowWindow(SW_SHOW);
// le constructeur de Dialog2 stocke le pointeur
Dialog2(Dialog1 * pDlg)
{
m_pdialog1 = pDlg;
}
// n'importe ou dans Dialog2 on accede a Dialog1
m_pDialog1->MethodeDuDialog1(_T("test !"));
eklouste
Messages postés18Date d'inscriptionmercredi 5 mars 2008StatutMembreDernière intervention 1 septembre 2008 22 août 2008 à 16:31
en fait je travaille avec deux classes differentes chacunes associes a differentes boites de dialogue et vu que je suis debutant en c++ il est un peu dure pour moi de suivre le bout de code que tu m'a filer.Tu pourrais me filer l'integralite de ton code stp. Tu me sauverais la vie merci encore
eklouste
Messages postés18Date d'inscriptionmercredi 5 mars 2008StatutMembreDernière intervention 1 septembre 2008 22 août 2008 à 16:31
en fait je travaille avec deux classes differentes chacunes associes a differentes boites de dialogue et vu que je suis debutant en c++ il est un peu dure pour moi de suivre le bout de code que tu m'a filer.Tu pourrais me filer l'integralite de ton code stp. Tu me sauverais la vie merci encore
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 22 août 2008 à 19:17
Désolé, c'était juste un exemple mais le principe reste vrai.
Toutes les classes de boite de dialog MFC prennent un param CWnd* au constructeur initialisé à NULL par défaut,
il ne tient qu'a toi de passer un pointeur sur une boite de dlg pour en faire le parent de la nouvelle boite de dlg créée.
Sinon, le seul moyen de communication entre les dlg est de passer des pointeurs entre elles.
Si tu veux plus de détail il faut que tu mettes ici un exemple de construction que tu utilises.
Dans quelle partie de l'appli tu ouvres tes dlg (Document View ect...) ?
Sont elles modales ou non ?
Ect ...