G
Hallo,
ich möchte eine SDI Anwendung zunächst in 2 Bereiche unterteilen.
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Fügen Sie hier Ihren spezialisierten Code ein, und/oder rufen Sie die Basisklasse auf.
/************************************
+-------+------------------------+-------+
| | | |
| S | | A |
| O | | C |
| L | | T |
| U | IMAGE VIEW | I |
| T | | O |
| I | | N |
| O | | |
| N | | |
| | | |
+-------+------------------------+-------+
| |
| CONSOLE |
| |
+----------------------------------------+
************************************/
//Die Größe holen
CRect cr;
GetWindowRect( &cr );
//Zuerst das Fenster waagerecht teilen
if ( ! m_horzSplitter.CreateStatic( this, 2, 1 ) )
{
MessageBox( "Fehler beim Teilen des Fenster (horizontal)", "ERROR", MB_OK | MB_ICONERROR );
return FALSE;
}
// Die Views einfügen
if ( !m_horzSplitter.CreateView( 0, 0, RUNTIME_CLASS(CSolutionView),
CSize(cr.Width()/2, cr.Height()), pContext ) )
{
MessageBox( "Error setting up splitter view", "ERROR", MB_OK | MB_ICONERROR );
return FALSE;
}
if ( !m_horzSplitter.CreateView( 0, 1, RUNTIME_CLASS(CImgView),
CSize(cr.Width()/2, cr.Height()), pContext ) )
{
MessageBox( "Error setting up splitter view", "ERROR", MB_OK | MB_ICONERROR );
return FALSE;
}
m_bSplitter = true;
return true;
//return CFrameWnd::OnCreateClient(lpcs, pContext);
}
CImgView und CSolutionView sind jeweils von CFormView abgeleitete Klassen.
Kompilieren funktioniert ohne Probleme, aber beim ausführen erhalte ich folgenden Fehler:
Debug Assertion Failed
File: Viewform.cpp
Line: 64
Diese Meldung wird nach dem ersten CreateView-Befehl ausgelöst. Dieser gibt 0 zurück.