problème fermeture boite de dialogue
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:
Code:
1 2 3
|
m_toto = new toto_dlg();
m_toto->DoModal(); |
dans cette classe, je lance mon gif et modifie la valeur du static text dans la methode OnInitDialog():
Code:
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:
Code:
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);
} |
et enfin ma méthode de fermeture de ma fenêtre:
Code:
1 2 3 4 5 6
|
void ARCInit_dlg::OnClose()
{
m_animate.Stop();
CDialog:OnOK();
} |
J'ai essayé avec les méthode OnOK() et OnCancel() mais toujours pareil.
Pour appeler cette méthode je fais:
Après cela, ma fenêtre se ferme correctement mais j'ai une exception.
Quelqu'un aurait il une idée pour resoudre mon problème?
Merci.