Geteilte Fenster

noel1982

Mitglied
Hallo Ihr!

Folgendes Problem:

Ich habe eine Ansicht von CScrollView abgeleitet und möchte nun mit Hilfe von CSplitterWnd ein geteiltes Fenster bestehend aus 2 Spalten (wobei die linke Spalte aus 2 Zeilen bestehen soll) erstellen. Ich fand dazu einen Quellcode, der das genau umgedreht erstellt. Diesen wollte ich nun entsprechend modifizieren, jedoch erzeugt die kleinste Veränderung eine Fehlermeldung. Frage nun: Woran liegt das?

Danke im voraus!


BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
// TODO: Add your specialized code here and/or call the base class

//return CFrameWnd::OnCreateClient(lpcs, pContext);

RECT rcRect; //Hilfsvariablen
SIZE szSize;

//Erzeugen von m_wndSplitter1 mit 1 Zeile und 2 Spalten:
if (!m_wndSplitter1.CreateStatic(this,1,2)) {
TRACE0("Fehler beim Erzeugen von Splitter 1\n");
return FALSE;
}

//Erzeugen von m_wndSplitter2 mit 2 Zeilen und 1 Spalte
// in der rechten Spalte (0,1) von m_wndSplitter1
if (!m_wndSplitter2.CreateStatic(&m_wndSplitter1,2,1,
WS_CHILD | WS_VISIBLE | WS_BORDER,
m_wndSplitter1.IdFromRowCol(0,1))) {
TRACE0("Fehler beim Erzeugen von Splitter 2\n");
return FALSE;
}

GetClientRect(&rcRect); //Arbeitsbereich abfragen

//Ansichtsklasse in m_wndSplitter1 in linke Spalte (0,0) einhängen
szSize.cx=(rcRect.right-rcRect.left)/3; //1/3 der Breite
if (!m_wndSplitter1.CreateView(0,0,
RUNTIME_CLASS(CAnsicht1),szSize,pContext)) {
TRACE0("Fehler beim Einsetzen der Ansicht\n");
return FALSE;
}

// Ansicht in m_wndSplitter2 in erste Zeile
szSize.cx*=2; //2/3 der Breite
szSize.cy=(long)((rcRect.bottom-rcRect.top)*0.6); //60% Höhe
if (!m_wndSplitter2.CreateView(0,0,
RUNTIME_CLASS(CAnsicht2),szSize,pContext)) {
TRACE0("Fehler beim Einsetzen der Ansicht\n");
return FALSE;
}

// Ansicht in m_wndSplitter2 in zweite Zeile
szSize.cy=rcRect.bottom-rcRect.top-szSize.cy; //Resthöhe
if (!m_wndSplitter2.CreateView(1,0,
RUNTIME_CLASS(CAnsicht3),szSize,pContext)) {
TRACE0("Fehler beim Einsetzen der Ansicht\n");
return FALSE;
}
 
Zurück