DigitalRevolution
Mitglied
Hallo
Ich möchte in meiner SDI MFC Anwendung ein geteiltes Fenster haben. Da bin ich schon auf folgenden Code gestoßen:
Das Problem ist, das ich nicht nur eine Ansicht habe, sondern mit
CMainFrame::SwitchView die ansichten wechsele:
Meine Frage:
Wie kann ich ein einzelnes, bestimmtes View splitten? Wo muss ich da obigen Code (ggf. modifiziert) einfügen?
Ich hoffe ihr könnt mir helfen, vielen Dank schon mal im voraus.
Ich möchte in meiner SDI MFC Anwendung ein geteiltes Fenster haben. Da bin ich schon auf folgenden Code gestoßen:
C++:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
...
BOOL bolReturn = TRUE;
bolReturn = this->m_wndSplitter.CreateStatic (this, 1, 2);
SIZE size;
size.cx = (rect.right-rect.left)/2;
size.cy = rect.bottom-rect.top;
bolReturn = bolReturn && this->m_wndSplitter.CreateView (0, 0, RUNTIME_CLASS (CTxtWatchView), size, pContext);
bolReturn = bolReturn && this->m_wndSplitter.CreateView (0, 1, RUNTIME_CLASS (CTxtEditView), size, pContext);
break;
Das Problem ist, das ich nicht nur eine Ansicht habe, sondern mit
CMainFrame::SwitchView die ansichten wechsele:
C++:
switch(TypeOfView)
{
case VIEW_1:
if (m_pC_1_View==NULL)//Falls Zeiger noch NULL
{
MessageBox("ERROR002: Es gibt keinen Zeiger auf das Menü!");
return;
}
pNewView=m_pCMenueView;
break;
case VIEW_2:
if (m_pC_2_View==NULL)
{
CRuntimeClass *pCR=RUNTIME_CLASS(C_2_View);
m_pCDctView = static_cast<CScrollView*>(pCR->CreateObject());
//ID des Views ungleich AFX_IDW_PANE_FIRST setzen
m_pCDctView->Create(NULL,NULL,AFX_WS_DEFAULT_VIEW
,rectDefault,this,AFX_IDW_PANE_FIRST+1,NULL);
}
pNewView=m_pCDctView;
break;
//Zeiger auf Dokument holen
CDocument *pDoc=pOldView->GetDocument();
//View mit Doc verbinden
pDoc->AddView(pNewView);
pDoc->RemoveView(pOldView);
//Aktives View dem Rahmenfenster mitteilen:
SetActiveView(pNewView);
Meine Frage:
Wie kann ich ein einzelnes, bestimmtes View splitten? Wo muss ich da obigen Code (ggf. modifiziert) einfügen?
Ich hoffe ihr könnt mir helfen, vielen Dank schon mal im voraus.
Zuletzt bearbeitet von einem Moderator: