CFormView´s switschen
-
hi
danke für die hilfe! aber ich bin noch recht neu auf diesem gebiet....
leider sagt mir das garnix....danke
-
Schau mal bei Codeguru, du musst den view in der Doc switchen.
code:
BOOL CClassBuilderDoc::SwitchToView(CRuntimeClass *pNewViewClass) { CMainFrame* pMainWnd = (CMainFrame*)AfxGetMainWnd(); CView* pOldActiveView = pMainWnd->GetActiveView(); // If we're already displaying this kind of view, no need to go further. if (pOldActiveView->IsKindOf(pNewViewClass)) return TRUE; CSplitterWnd* pSplitter = (CSplitterWnd *)pOldActiveView->GetParent(); pOldActiveView = (CView*)pSplitter->GetPane(0,1);//damit er nicht den Falschen View Löscht int row= 0, col= 1; ASSERT(pSplitter->IsChildPane(pOldActiveView, row, col)); CRect viewrect; pOldActiveView->GetWindowRect(&viewrect); // set flag so that document will not be deleted when view is destroyed m_bAutoDelete = FALSE; // Delete existing view pOldActiveView->DestroyWindow(); // set flag back to default m_bAutoDelete = TRUE; // row = 0; // col = 1; // Create new view CCreateContext context; context.m_pNewViewClass = pNewViewClass; context.m_pCurrentDoc = this; context.m_pNewDocTemplate = this->GetDocTemplate(); context.m_pLastView = pOldActiveView; context.m_pCurrentFrame =NULL;// pMainWnd->GetActiveFrame(); if (!pSplitter->CreateView(row, col, pNewViewClass, viewrect.Size(), &context)) return FALSE; // Set active CMainView* pNewView = (CMainView *)pSplitter->GetPane(row, col); pSplitter->GetParentFrame()->SetActiveView(pNewView); pSplitter->RecalcLayout(); pNewView->SendMessage(WM_PAINT); return TRUE; }
Devil
-
CFormView´s switschen
Was für eine Rechtschreibung!
-
@Duden..... *lol* - ups
@devil81
danke, ich hoffe,das bringt mich weiter, ich versuch es mal!
danke für deine mithilfe!!
danke
-
hi
einen kleinen fehler hab ich noch, dann hab ich es entlich geschafft:
wenn ich das programm starte, startet es meine 2 dialogfelder am anfang nicht (passworteingabe und so ein introdialog)
statt dessen kommt dieses bild:
http://bilder.internetsuccess.at/fehler.jpgvielleicht hat jemand ne idee!? denn er soll IMMER Outbar öffnen, automatisch!
danke
ciao
-
Quellcode ?
-
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { if (!wndSplitter.CreateStatic(this, 1, 2)) return false; // wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CTestView1), CSize(10,10),pContext); m_Benutzer = wndSplitter.AddView(0, 1, RUNTIME_CLASS(CSheetBenutzer), pContext); m_Benutzergruppen = wndSplitter.AddView(0, 1, RUNTIME_CLASS(CSheetBenutzergruppen), pContext); m_Benutzerrechte = wndSplitter.AddView(0, 1, RUNTIME_CLASS(CSheetBenutzerrechte), pContext); DWORD dwf = CGfxOutBarCtrl::fDragItems|CGfxOutBarCtrl::fEditGroups|CGfxOutBarCtrl::fEditItems|CGfxOutBarCtrl::fRemoveGroups| CGfxOutBarCtrl::fRemoveItems|CGfxOutBarCtrl::fAddGroups|CGfxOutBarCtrl::fAnimation//; |CGfxOutBarCtrl::fSelHighlight; wndBar.Create(WS_CHILD|WS_VISIBLE, CRect(0,0,0,0), &wndSplitter, wndSplitter.IdFromRowCol(0, 0), dwf); wndBar.SetOwner(this);
ich denke, irgendwo da ist das problem, oben beim auskommentierten zeug
-
Wo rufst du den Dialog auf und welche Daten gibt er zurück ?
Devil
-
ups
das ist mir jetzt aber peinlich *rot werd*
doch, die 2 dialoge funktionieren jetzt!
aber das fenster http://bilder.internetsuccess.at/fehler.jpg kommt noch immer!
das ist deshalb, weil ich am anfang schon ALLE fenster (CFormView´s zum switchen im rechten frame) lade bzw erzeuge....
-
danke danke für eure hilfen!!!!
es hat sich erledigt!!
ein freunt hat mir nen tipp gegeben!!!
es war nur ne kleinigkeit!danke an allen helfern!