salut,
mon application MFC est de type CDialog ...au fait je dispose d'uen Cdialog principale CDlg1 qui invoque ( au besoin ) une autre CDialog Cdlg2 et celle ci aussi invoque finalement une autre Cdlg3 ( selon un test donc au besoin aussi ) ...bon l'application traite un certains nombre de fiches ( comptabilite ou autre) et chaque fiche suit donc le cycle que j'ai defini soit (cdlg1-> cdlg2-> cdlg3->cdlg1.....etc jusqu'a traietr toutes les fiches...mon but est de permettre cet affichage iretatif sachant que dans le constructeur je passe mon objet fiche sans probleme et ca marche, mais je constate que l'affichage se fait indefiniement
....pourtant voilà ce que j'ai au debut ..
cette premiere Cdialog possede un bouton qui invoque la deuxieme Cdialog en lui passant aussi la meme fiche a traiter comme suit et disparait de l'ecran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 BOOL CVCAApp::InitInstance() { .... CWinApp::InitInstance(); AfxEnableControlContainer(); // debut de mon traitement for ( int i = 0 ; i < m_CCardList->CurrentCardList.GetSize() ; i ++ ) { CCard m_CurrentCard = m_CCardList->CurrentCardList.GetAt(i); CVCADlg dlg(m_CurrentCard); m_pMainWnd = &dlg; INT_PTR nResponse = dlg.DoModal(); // j'ai meme ajouté ce test pour etre sur : if ( i > m_CCardList->CurrentCardList.GetSize() ) exit(0); }
et finalmement la troisieme qui contient un bouton mettant fin au traitement de la fiche courante pour revenir a la premiere Cdialog ( qui sera alimentée par al deuxieme fiche ...etc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CDlg2 step2dlg(m_CCardCurrent); step2dlg.DoModal();
la troisieme Cdialog possede un bouton mais puisqu'elel est la derniere du cycle n'invoque aucune autre Cdialog elle se contente donc de disparaitre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CDlg3 step3dlg(m_CCardCurrent); step3dlg.DoModal(); EndDialog(0);
je en comprends pas ou est l'anomalie![]()
Partager