Multiple views for a single document (MDI) 2

I think there is a new/simpler way to create new views attached to an
existing document using VC++ 5.0. I think it is a cleaner implementation
since it uses new hooks that MFC provides rather than having to work with
the CCreateContext’s.

Assuming the following are already declared in the app:

CMultiDocTemplate * m_pTemplate;
CWhateverDocument * m_pDocument;

The app would only need to have the following to create a new view attached
to the document:

void CWhateverApp::OnCreateView()
{
    // creates the frame and associated view, attaches to document
    CFrameWnd * pFrameWnd = m_pTemplate->CreateNewFrame( m_pDocument, NULL );

    // error checking in case creation of frame or view fails
    RETURN_ON_NULL( pFrameWnd );

    // let the frame do any initialization the framework needs,
    // call the view's OnInitialUpdate()
    m_pTemplate->InitialUpdateFrame( pFrameWnd, m_pDocument );
}

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read