作者:朱金灿
来源:http://blog.csdn.net/clever101
因为对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); }