作者:朱金燦
因為對VC多文檔程式還不熟悉,找了一些資料才找到一種建立子視圖視窗的辦法。
建一個多文檔工程:CreateWin, 然後使用classwizard為建立視窗(N)添加消息影射函數,加在視圖類。本來MDI架構視窗為層疊、平鋪、排列子視窗和建立子視窗等一些标準視窗操作提供了預設的菜單響應。在響應建立子視窗指令時,架構調用CDocTemplate::CreateNewFrame()為目前活動文檔建立一個子視窗。CreateNewFrame()不僅建立子視窗,還建立與文檔相對應的視圖,但不能建立自定義的視圖視窗。然後添加下面代碼:
void CCreateWinView::OnWindowNew()
{
// TODO: Add your command handler code here
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(IDR_CREATETYPE,//這個是圖示,出// 現在視窗左上的
RUNTIME_CLASS(CCreateWinDoc),//DOC類
RUNTIME_CLASS(CChildFrame), // 自定義 MDI 子架構
RUNTIME_CLASS(CCreateWinView)); //自己的子視圖
AfxGetApp()->AddDocTemplate(pDocTemplate);
pDocTemplate->OpenDocumentFile(NULL);
}