Ich hoffe mir kann hier jemand helfen…ch möchte in meiner SDI MFC Anwendung ein geteiltes Fenster haben. Da bin ich schon auf folgenden Code gestoßen:
BOOL CMainFrame::open\_mouth:nCreateClient(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:
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(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.