[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.