2011年4月14日 星期四

Add a new View in MFC MDI

首先加入一個繼承CView的MFC Class : CFlyAwayView;

1. @ Winapp.cpp InitInstance()

    CMultiDocTemplate* pFlyAwayView;
    pFlyAwayView = new CMultiDocTemplate(
        IDR_EXTYPE,
        RUNTIME_CLASS(CDoc),
        RUNTIME_CLASS(CChildFrame), // custom MDI child frame
        RUNTIME_CLASS(CFlyAwayView));
    AddDocTemplate(pFlyAwayView);

pFlyAwayView->OpenDocumentFile(NULL);
//沒有這行View就沒有Active


2. @ MainFrame.cpp
在mainframe中調換view

OnMessageFunction():

CView* pView;
   
    while (pView = MDIGetActive()->GetActiveView())
    {
        if (pView->IsKindOf( RUNTIME_CLASS(CFlyAwayView)))
        {       
         
            AfxMessageBox(_T("hi"));
            break;
        }

            MDINext();
            MDIMaximize(pView);
    }

沒有留言:

張貼留言