Je veux communiquer entre deux ou plusieurs fenêtres de dialogue, quand je dis communiquer Cela signifie que je veux utiliser les variables et fonctions dans toutes les boîtes de dialogue avec des valeurs mises à jour .. Donc, ce que j'ai fait est créé trois boîtes de dialogue principales, Considérant 1 fenêtre de dialogue en tant que fenêtre principale où il peut avoir des variables et des fonctions et j'ai créé une variable pointeur pour le maindialog dans d'autres fenêtres .. pour accéder aux variables et fonctions qui sont dans la fenêtre principale ... s'il vous plaît vérifier le code ci-dessous ....Impossible de communiquer entre les boîtes de dialogue en passant leur objet en tant que référence!
first dialog class
//header
class MainDialog;
class FirstDialog : public CDialog
{
DECLARE_DYNAMIC(FirstDialog)
public:
FirstDialog();//standard constr
FirstDialog(MainDialog* pfirstPage);//constructor that i defined
protected:
MainDialog* firstPage;
};
//cpp
intializing the constructor
FirstDialog::FirstDialog(MainDialog* pFirstPage)
: CDialog(FirstDialog::IDD)
,firstPage(pFirstPage)
{
}
similarily SecondDialog Class....
now i did the following
MainDialog main(L"Main Dialog");
FirstDialog dialog1(&main);
SecondPage dialog2(&main);
m_pMainWnd = &dialog1;
INT_PTR nResponse = dialog1.DoModal();
le problème est, disons que j'ai une variable CString dans maindialog..I peut appeler cette variable et attribuer une valeur dans la première boîte de dialogue ... mais quand j'ai essayé d'accéder à cette valeur dans la secondeDialog..it restreint. Il n'y a pas de valeur..S'il vous plaît ne pas savoir si vous ne pouvez pas comprendre ..
Je ne suis pas inquiet à ce sujet maintenant ... Je veux savoir comment je peux communiquer entre 2 boîtes de dialogue avec le code ci-dessus ou avec une autre méthode ... Je crois que la méthode get/set ne fonctionnerait pas ... Je suis continuer à travailler .. mais rien ne semble fonctionner .. si vous m'aideriez ce serait génial .. – kiddo
Ce n'est pas vraiment votre question originale, mais de toute façon la façon recommandée de communiquer est à travers une interface. Définissez-en un pour la première boîte de dialogue, avec les méthodes nécessaires au second dialogue et une pour la communication avec le second dialogue. Ensuite, changez vos constructeurs afin qu'ils reçoivent une implémentation de l'interface nécessaire. Cela les fera communiquer en toute sécurité. – Timores