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à :
et dans ma MainFrame :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 COGLSplitter::COGLSplitter : CSplitterWnd() { m_pDynamicViewClass = RUNTIME_CLASS(CMaClasseOpenGL); ... }
Cependant, la méthode SplitColumn provoque une erreur d'assertion (dans winsplit.h).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
Quelq'un pourrait-il me dire comment créer mes vues openGL dans mon splitter dynamique ?
Merci d'avance.
Partager