bonjour,
J'ai une exception lorsque je ferme ma boite de dialogue. La boite de dialogue est toute simple. Elle utilise un static text et un gif animé. J'ai vérifié que cela ne venait pas de mon gif animé.
voici le code pour afficher ma boite à l'écran:
dans cette classe, je lance mon gif et modifie la valeur du static text dans la methode OnInitDialog():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 m_toto = new toto_dlg(); m_toto->DoModal();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 BOOL toto_dlg::OnInitDialog() { CDialog::OnInitDialog(); m_animate.Load("../animation.gif"); m_animate.ShowWindow(SW_SHOWNORMAL); m_animate.Start(); this->SetWindowTextA(_T("test")); return TRUE; }
J'ai egalement une méthode dans ma classe qui permet de ne pas fermer la fenêtre si l'on tape sur les touche entrée ou echap:
et enfin ma méthode de fermeture de ma fenêtre:
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 BOOL toto_dlg::OnCommand(WPARAM wParam, LPARAM lParam) { CWnd *pWnd = GetFocus(); switch(wParam) { case IDOK: if(pWnd!=GetDlgItem(IDOK)) { return FALSE; } break; case IDCANCEL:if(pWnd!=GetDlgItem(IDCANCEL)) { return FALSE; } break; } return CDialog::OnCommand(wParam, lParam); }
J'ai essayé avec les méthode OnOK() et OnCancel() mais toujours pareil.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void ARCInit_dlg::OnClose() { m_animate.Stop(); CDialog:OnOK(); }
Pour appeler cette méthode je fais:
Après cela, ma fenêtre se ferme correctement mais j'ai une exception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 m_toto->OnClose();
Quelqu'un aurait il une idée pour resoudre mon problème?
Merci.
Partager