Pas évident comme ça, il faut regarder un peu les exemples sur le Net, mais en gros:
Dans ta classe mere :
CMaDialog1 m_Dlg1;
CMaDialo2 m_Dlg2;
// une fois les boite de dialogues crées tu crées une fonction style :
m_Dlg1.SetHandleDgl1(m_Dlg1.m_hWnd); // qui sauvegarde dans m_hDlg2 (de type HWND) par ex
//dans CMaDialog1 quand tu veux envoyer vers Dlg2 tu fais par exemple
SendMessage(m_hDgl2, WM_TRANSFERT_DONNEES, pointeur sur ta string, 0);
en global à l'appli tu as
#define WM_TRANFERT_DONNEES WM_USER+100
Et le plus compliqué, dans CMaDialog2.h :
afx_msg void OnTransfertDonnees(WPARAM wParam, LPARAM lParam);
dans le cpp :
BEGIN_MESSAGE_MAP(CMaDialog, CDialog)
//{{AFX_MSG_MAP(CMadialog)
...
//}}AFX_MSG_MAP
ON_MESSAGE(WM_TRANSFERT_DONNNES, OnTransfertDonnees)
END_MESSAGE_MAP()
void OnTransfertDonnee(WPARAM wParam, LPARAM lParam)
{
// ton code pour traiter la chaine
CString *myStr = (CString *)wParam;
}
Voila c'est à peu près comme ça.
Bon courage