[MFC] SDI - pb avec OnInitialUpdate()
bonjour,
j'ai pas réussi à trouver un titre court et explicite pour mon pb, désolé :lol:
j'ai un projet SDI. j'ai mis un CTabCtrl dans ma CFormView.
Code:
1 2
| // dans le .h
CMyTabCtrl m_ViewTab; |
Code:
1 2 3 4 5 6 7
| void CCOACH_equipeView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCOACH_equipeView)
DDX_Control(pDX, IDC_VIEWTAB, m_ViewTab);
//}}AFX_DATA_MAP
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| void CCOACH_equipeView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_ViewTab.DeleteAllItems();
// Création des onglets
m_ViewTab.InsertItem(0, _T(" &Feuille de match "));
m_ViewTab.InsertItem(1, _T(" &Classement individuel "));
m_ViewTab.InsertItem(2, _T(" &Classement individuel IWF "));
m_ViewTab.Init();
} |
Lorsque je lance mon appli, les 3 onglets apparaissent et je peux passer de l'un à l'autre (ouf!).
Le problème, c'est quand je clique sur Nouveau (le bouton de la CToolBar ou dans le menu fichier). Là mon appli plante. j'ai une jolie MessageBox qui s'affiche avec le message suivant :
Citation:
Debug Assertion Failed
Program: bidule.exe
File: wincore.cpp
Line: 668
pour info, dans wincore.cpp je trouve
Code:
ASSERT(pWnd->m_hWnd == NULL); // only do once
J'obtiens le même plantage si j'ouvre un fichier de données (bouton Ouvrir du CToolBar ou dans le menu Fichier).
Tant que je ne mets pas de CTabCtrl, tout va bien : mon prog lit le fichier de données, peut sauvegarder dans un fichier... (mais ya pas d'affichage sans le CTabCtrl :? )
Tout à commencer à foirer quand j'ai tripoté le OnInitialUpdate().
Quelqu'un voit mon erreur? ou mon oubli (de quelquechose de vachement important)
Merci
PS : la classe CMyTabCtrl marche nickel, je l'ai utilisé pour un projet dialog based.