000
12.11.2003, 20:57 Uhr
~fraloe
Gast
|
Hallo Leute! Bei einer Datenbankabfrage möchte ich mit unterschiedlichen Dialogansichten arbeiten(Formularwechsel)
C++: |
void CMainFrame::OnVor() //Erster Dialog { // TODO: Code für Befehlsbehandlungsroutine hier einfügen if(GetActiveView()->IsKindOf(RUNTIME_CLASS(CNeu_1View))) return;
SwitchToForm(IDW_NEU_1_FORM); }
void CMainFrame::OnZurueck() //Zweiter DIalog { // TODO: Code für Befehlsbehandlungsroutine hier einfügen if(GetActiveView()->IsKindOf(RUNTIME_CLASS(PruefView))) return;
SwitchToForm(IDW_DIALOG1); }
void CMainFrame::SwitchToForm(int nForm) { CView* pOldActiveView = GetActiveView() ; CView* pNewActiveView = (CView*) GetDlgItem(nForm) ;
if (pNewActiveView == NULL) { switch (nForm ) { case IDW_NEU_1_FORM: pNewActiveView = (CView*) new CNeu_1View; break; case IDW_DIALOG1: pNewActiveView = (CView*) new PruefView; break; } CCreateContext context; context.m_pCurrentDoc = pOldActiveView->GetDocument(); pNewActiveView->Create(NULL,NULL,0L,CFrameWnd::rectDefault, this, nForm, &context);
pNewActiveView->OnInitialUpdate(); } SetActiveView(pNewActiveView); pNewActiveView->ShowWindow(SW_SHOW); pOldActiveView->ShowWindow(SW_HIDE); pNewActiveView->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
if (pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(CNeu_1View)) pOldActiveView->SetDlgCtrlID(IDW_NEU_1_FORM); if (pOldActiveView->GetRuntimeClass() == RUNTIME_CLASS(PruefView)) pOldActiveView->SetDlgCtrlID(IDW_DIALOG1); RecalcLayout(); }
|
Das funst solange ich beim Projekt erstellen das Hägchen vor ActiveX-Steuerelemente nicht gesetzt habe. Ich will aber in meiner Anwendung auch ActiveX-Steuerelemente verwenden. Also wenn ich das Hägchen setze, bekomme ich beim versuch einen Formwechsel durchzuführen immer eine Fehlermedung. Kann mir einer hier auf die Sprünge helfen. Danke!! Frank Dieser Post wurde am 12.11.2003 um 21:51 Uhr von FloSoft editiert. |