关于一个文档关联多类型视图的问题 不知VC能否支持多一个文档关联多类型视图情形,我的文档内有图形和文本两种信息。我现在想建立两种不同类型的视图,同时属于这个文档,一个显示图形,另外一个显示文本,不知各位有何高见,帮我解决这个问题。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么没人理睬我呀???up up up 可以的,动态调用,用zhege:RUN_TIMECLASS() up帮帮忙呀,具体点嘛,我实在不愿意看MSDN,太累了,也看不懂,还是发点分数好 楼主还是应该勤奋一点,^_^:1。动态拆分:在CMDIChildFrame::OnCreateClient中调用CSplitterWnd::Create2。静态拆分:在CMDImAINFrame::OnCreateClient中调用CSplitterWnd::createStatic静态拆分窗口;调用CSplitterWnd::CreateView拆分视图 to:oiq和楼主:如果想要实现几个视图同步一个文档,就要自己根据所选文档类型来创建新的视图。具体过程是先获取当前活动的字框架窗口和文档,然后根据相应的文档模板创建新的子框架窗口。我现在手工写一段代码,应该对楼主有所帮助。不过楼主可不要食言呀,我的分数是—— 50 + ? ^_^代码如下:参数iPos,是你所要创建的视图对应的文档模板在所有文档模板中的位置.void CMainFrame::OnNewChildWnd(UINT iPos){ //获得当前活动的字框架窗口和文档. CMDIChildWnd* pActiveChild = MDIGetActive(); CDocument* pDocument; if(pActiveChile != NULL) { pDocument = pActiveChild->GetActiveDocument(); } else { AfxMessageBox(AFX_IDP_COMMAND_FAILURE); return; } POSITION pos; pos = ((CMultiTypeApp*)AfxGetApp())->GetFirstDocTemplatePosition(); CDocTemplate* pTemplate; for(i = 0; i <= iPos; i++) { pTemplate = ((CMultiTypeApp*)AfxGetApp())->GetNextDocTemplate(pos); VERIFY(pTemplate); } //创建和现实新的字框架窗口 CFrameWnd* pFrame = pTemplate->CreateNewFrame(pDocument, pActiveChild); if(!pFrame) { AfxMessageBox(AFX_IDP_COMMAND_FALURE); return; } pTemplate->InitialUpdateFrame(pFrame, pDocument);} 不对, demetry(大松) 的东东还真有用,算了,分数你独吞吧 如何实现这样的设置界面 如何使用VC调用不同exe程序来打开指定文件 Cstring 转 char* 远线程的具体应用在哪些方面? 如何才能让文件分批保存在文件中? 静态控件上的文字如何实现不停滚动? 一个创建字体的问题?? subsystrm 和 entry在哪里设置 客户端怎样高效请求数据让界面又不卡 ADO操作SQLServer数据库读取显示三维模型 Txt->Html 发现侯sir深入浅出一书的bug, 今天查msdn发现ccommandlineinfo是从cobject派生的,而侯sir书前面的表说是not dirved form cobject
up up up
用zhege:RUN_TIMECLASS()
1。动态拆分:在CMDIChildFrame::OnCreateClient中调用CSplitterWnd::Create
2。静态拆分:在CMDImAINFrame::OnCreateClient中调用CSplitterWnd::createStatic静态拆分窗口;调用CSplitterWnd::CreateView拆分视图
如果想要实现几个视图同步一个文档,就要自己根据所选文档类型来创建新的视图。具体过程是先获取当前活动的字框架窗口和文档,然后根据相应的文档模板创建新的子框架窗口。我现在手工写一段代码,应该对楼主有所帮助。不过楼主可不要食言呀,我的分数是—— 50 + ? ^_^代码如下:参数iPos,是你所要创建的视图对应的文档模板在所有文档模板中的位置.void CMainFrame::OnNewChildWnd(UINT iPos)
{
//获得当前活动的字框架窗口和文档.
CMDIChildWnd* pActiveChild = MDIGetActive();
CDocument* pDocument;
if(pActiveChile != NULL)
{
pDocument = pActiveChild->GetActiveDocument();
}
else
{
AfxMessageBox(AFX_IDP_COMMAND_FAILURE);
return;
}
POSITION pos;
pos = ((CMultiTypeApp*)AfxGetApp())->GetFirstDocTemplatePosition();
CDocTemplate* pTemplate;
for(i = 0; i <= iPos; i++)
{
pTemplate = ((CMultiTypeApp*)AfxGetApp())->GetNextDocTemplate(pos);
VERIFY(pTemplate);
}
//创建和现实新的字框架窗口
CFrameWnd* pFrame = pTemplate->CreateNewFrame(pDocument, pActiveChild);
if(!pFrame)
{
AfxMessageBox(AFX_IDP_COMMAND_FALURE);
return;
}
pTemplate->InitialUpdateFrame(pFrame, pDocument);
}