Hello Farscape,
je n'ai pas un pointeur sur l'objet mais une instance directement placée comme attribut protégée de ma classe CMainFrame.
Mais je pense que cela doit marcher un peu pareil.
Pour faire disparaitre le boîte flottante, je viens d'essayer la fonction que tu m'as indiquée :
m_myDlgBar.DestroyWindow()
De cette manière,quand je clic sur le menu View\MyDlgBar qui fait appel aux fonctions :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void CMainFrame::OnViewDlgbar()
{
// TODO: Add your command handler code here
if (m_myDlgBar.IsWindowVisible() != FALSE)
{
m_myDlgBar.DestroyWindow() ;
}
else
{
// boîte flottante visible
}
}
void CMainFrame::OnUpdateViewDlgbar(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
pCmdUI->SetCheck(TRUE == m_dlgBarTest.IsWindowVisible() ? 1:0) ;
} |
j'ai bien réussi à fermer ma boîte flottante mais par contre dès que je clic sur le menu View de mon application ça plante.
Du coup j'ai ajouté via Wizard la fonction DestroyWindow dans la classe ma boîte de dialogue.
A ce moment je passe bien dans la fonction qui fait correctement appel à :
CDialogBar::DestroyWindow()
J'ai toujours le même problème : ça se feme mais l'application plante au prochain évènement....
Alice
Partager