Hallo zusammen,
Ich habe ein MDI Projekt mit Splitter.
Das Problem: Die View's die ich in den Splitter eingehängt habe bekommen mit GetDocument() keinen Zeiger auf das aktuelle Dokument.
Der von CMDIChildWnd abgeleitete Frame bekommt ebenfalls keinen Zeiger auf das Dokument.
Im Folgenden ein paar Ausschnitte aus meinem Quellcode.
Aus der InitInstance() des Projektes:
class CMusterEditorFrm : public CMDIChildWnd
Es wäre super wenn mir wer helfen könnte wo mein Fehler liegt.
MfG
Perdan
Ich habe ein MDI Projekt mit Splitter.
Das Problem: Die View's die ich in den Splitter eingehängt habe bekommen mit GetDocument() keinen Zeiger auf das aktuelle Dokument.
Der von CMDIChildWnd abgeleitete Frame bekommt ebenfalls keinen Zeiger auf das Dokument.
Im Folgenden ein paar Ausschnitte aus meinem Quellcode.
Aus der InitInstance() des Projektes:
Code:
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_ROEPatternGenerTYPE,
RUNTIME_CLASS(CProjectDoc),
RUNTIME_CLASS(CMusterEditorFrm), // custom MDI child frame
RUNTIME_CLASS(CMusterEditorNavigationView));
if (!pDocTemplate)
return FALSE;
AddDocTemplate(pDocTemplate);
class CMusterEditorFrm : public CMDIChildWnd
Code:
BOOL CMusterEditorFrm::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext)
{
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_TOOLTIPS | CBRS_GRIPPER | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MUSTER_EDITOR_TOOLBAR))
{
TRACE0("Failed to create toolbar\n");
return -1; // fail to create
}
if(!m_wndSplitter.CreateStatic(this, 1, 2))
{
TRACE(_T("Splitter konnte nicht erstellt werden!"));
return false;
}
if(!m_wndSplitter.CreateView(0, 0, pContext->m_pNewViewClass, CSize(0,0), pContext))
{
TRACE(_T("ListCtrlView konnte nicht erstellt werden!"));
return false;
}
m_wndSplitter.SetColumnInfo(0, 150, 0);
if(!m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CMusterEditorDrawView), CSize(0,0), pContext))
{
TRACE(_T("ListCtrlView konnte nicht erstellt werden!"));
return false;
}
return true;
}
Es wäre super wenn mir wer helfen könnte wo mein Fehler liegt.
MfG
Perdan