Mehrere Views



  • Ich möchte eine Anwendung erstellen mit mehreren Eingabedialogen.
    Entsprechend der Menüauswahl möchte ich das die View `s sichtbar werden.
    Die Views sind von CScrollView abgeleitet, die Klassen heißen Chaltung und Cschacht.

    Dazu habe ich eine Funktion geschrieben, die entsprechend die Views wechsel soll.

    Dieser Ausschnitt ist schon abgespeckt, er sollte nur eine View zeigen.

    CView* pOldActiveView = GetActiveView();
    ::SetWindowLong(pOldActiveView->m_hWnd, GWL_ID, m_nCurrentExample);

    CRuntimeClass* pNewViewClass;

    pNewViewClass = RUNTIME_CLASS( CHaltung);

    CCreateContext context;
    context.m_pNewViewClass = pNewViewClass;
    context.m_pCurrentDoc = GetActiveDocument();

    CView* pNewView = STATIC_DOWNCAST(CView, CreateView ( &context));

    if (pNewView != NULL)
    {
    pNewView->ShowWindow(SW_SHOW);
    pNewView->OnInitialUpdate();
    SetActiveView(pNewView);
    RecalcLayout();
    m_nCurrentExample = nView;

    pOldActiveView->DestroyWindow();
    }

    Leider wird aber nichts angezeigt.

    Im Debugger läßt sich ersehen, das die InInitialUpdate aufgerufen wird.

    Jedoch ist nichts zu sehen und auch die Kontrolle hat immer noch das hauptfenster.

    Was ist denn daran falsch ??

    Es treten keinerlei Fehlermeldungen auf.



  • Nach oben




Anmelden zum Antworten