vc多文档多视图
我想打开一幅图像然后同时显示在两个视图中,只是两个图像的大小不同而已,该怎么实现呢?能给个思路吗?应该在哪里添加语句创建一个新的view呢?
[解决办法]
mainframe的WM_CREATE消息里就可以
MSDN上有个例子...
[解决办法]
在创建视图菜单的消息响应函数中添加如下代码
//创建新的文档模板
static CMultiDocTemplate* pDocTemplate_New;
BOOL bChildCreated=FALSE;
// 标 志, 新 窗 口 是 否 建 立; 如 已 建, 将 不 重 建
if(bChildCreated==FALSE)
{
pDocTemplate_New = new CMultiDocTemplate(
IDR_CMONTYPE,
RUNTIME_CLASS(C**Doc),
RUNTIME_CLASS(CChildFrame),// custom MDI child frame
RUNTIME_CLASS(C**View));
AfxGetApp()->AddDocTemplate(pDocTemplate_New);
// 创 建 新 的 子 窗 口
CMDIChildWnd* pMDIActive = MDIGetActive();//获得当前活动子窗口的指针
// 获得文档指针
C**Doc* pDoc=(C**Doc*)pMDIActive->GetActiveDocument();
// 建立新的框架窗口
CMDIChildWnd* pNewFrame=(CMDIChildWnd*)(pDocTemplate_New ->CreateNewFrame(pDoc, NULL));
if(pNewFrame==NULL)
{
AfxMessageBox("新窗口不能建立");
return;
}
//显示窗口
pDocTemplate_New->InitialUpdateFrame(pNewFrame,pDoc);
bChildCreated=TRUE;
}
[解决办法]
每个文档应该对应多个视图,可以使用视图分割!
网上搜索一下视图分割!多个view对应一个doc