Bonjour,
J'ai un petit problème avec la gestion de mes controles entre mes boites de dialogues.
J'ai une boite de dialog1, qui ouvre une boite de dialog2. cette dialog2 est une boite de dialogue avec un mot de passe pour ouvrire une boite de dialog3, qui contient mes controles de règlage de mon application.
J'ai décider d'avoir le choix de passer directement de la dialog1 à la dialog3 (appui sur ctrl+d) sans avoir à rentrer le mot de passe.
Dans la dialog3 j'ai deux checkboxes qui me permette de valider ou non des traitement appartenant à ma dialog1.
Mon problème vient du fait que si je passe directement de dialog1 à dialog3 et que je modifie les controles, il sont bien pris en compte dans la dialog1, alors que si par la suite je passe par la dialog2 (mot de passe) et que je veux modifier mes controles de la dialog3, il ne sont pas pris en compte dans la dialog1.
Pour passer mes variable de la dialog3 à 1, j'utilise :
Je pense que quand je fais Dlg.DoModal dans ma dialog1 et que je passe directement dans la dialog3 il n'y a pas de soucis, mais quand je passe par le dialog2, comme il y a une fenêtre intermédiaire(dialog2), mes variable n'atteignent pas ma dialog1.
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 void Cdialog3::OnOK() { Cdialog1 *pDlg=(CDialog1 *)GetParent(); UpdateData(TRUE); if(IsDlgButtonChecked(IDC_CHECK_IMG_ORIG)) { pDlg->m_checkboxe1=true; } else { pDlg->m_checkboxe1=false; } CDialog::OnOK();
Comment pourrais-je tester si la Dialog3 est appelé par la dialog1 ou la dialog2 pour connaitre la fenêtre parent ? et comment je fais pour passer mes variable de la dialog3 à la dialog2 pour qu'elle les passent à la dialog1?
Tous ça à l'air très compliqué pour un oeil extérieur, mais il suffit de m'expliquer comment communiqué entre boites de dialogues avec des intermédiaires ou directement (quelle est la dialog parent).
Désoler pour ses explications sur le tas, mais c'est le plus clair que je puisse faire. Si vous avez des questions, ne vous génez pas.
Merci pour ceux qui feront l'effort de comprendre mon problème et de me donner un petit coup de pouce.![]()
Partager