[MFC] - CSplitterWnd dynamique et split
Bonjour à tous,
Je suis en train de développer une petite appli permettant un affichage OpenGL dans une, deux ou quatre vues. Ma MainFrame embarque deux dérivées de CSplitterWnd, CMainSplitter et COGLSplitter. Ma CMainSplitter est créée en static et divisée en deux colonnes. La colonne de droite contient mon COGLSplitter divisé en quatre vues et crée en dynamique (Create()).
Le constructeur de ma COGLSplitter contient celà :
Code:
1 2 3 4 5 6
|
COGLSplitter::COGLSplitter : CSplitterWnd()
{
m_pDynamicViewClass = RUNTIME_CLASS(CMaClasseOpenGL);
...
} |
et dans ma MainFrame :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
mainSplitter.CreateStatic(this, 1, 2);
mainSplitter.CreateView(0, 1, RUNTIME_CLASS(CMaFormView), CSize(200, 800), pContext);
oglSplitter.Create(&mainSplitter, 2, 2, CSize(400, 400), pContext, WS_CHILD|WS_VISIBLE|SPLS_DYNAMIC_SPLIT, mainSplitter.IdFromRowCol(0, 0));
CRect rc;
mainSplitter.GetPane(0, 0)->GetClientRect(rc);
oglSplitter.SplitColumn(rc.Width()/2);
oglSplitter.SplitRow(rc.Height()/2);
return TRUE;
} |
Cependant, la méthode SplitColumn provoque une erreur d'assertion (dans winsplit.h).
Quelq'un pourrait-il me dire comment créer mes vues openGL dans mon splitter dynamique ?
Merci d'avance.