MFC多文档程序的文档之间怎么交互数据?

j805 2007-01-25 07:34:38
想写一个程序,有两个文档模板,两个模板的文档之间怎么交换数据?

请教各位了,帮顶有分!
...全文
766 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxsshizishizi 2007-01-27
  • 打赏
  • 举报
回复
studying ........
Jarrylogin 2007-01-26
  • 打赏
  • 举报
回复
9494
回风舞雪 2007-01-26
  • 打赏
  • 举报
回复
CXXApp* pApp=(CXXApp*)AfxGetApp();//得到应用程序指针
POSITION p=pApp->GetFirstDocTemplatePosition();//得到第一个文档模板
while(p!=NULL)//遍历文档模板
{CDocTemplate* pDocTemplate=pApp->GetNextDocTemplate(p);
POSITION p1=pDocTemplate->GetFirstDocPosition();//得到文档模板对应的第一个文档
while(p1!=NULL)//遍历文档模板对应的文档
{CDocument* pDocument=pDocTemplate->GetNextDoc(p1);
POSITION p2=pDocument->GetFirstViewPosition();//得到文档对应的第一个视图
while(p2!=NULL)//遍历文档对应的视图
{CView* pView=pDocument->GetNextView(p2);
}}}
qiujian5628 2007-01-26
  • 打赏
  • 举报
回复
1)对于单文档中也可以加入多个文档模板,但是一般的开发就使用MDI方式开发
多文档模板,其方法与上述视图的获取方法很接近,这里稍做解释,如果不清楚,
请查阅MSDN.
可以用CWinApp::GetFirstDocTemplatePostion获得应用程序注册的第一个文档模板
的位置;利用该值来调用CWinApp::GetNextDocTemplate函数,获得第一个
CDocTemplate对象指针。 POSITION GetFirstDocTemplate( ) const;
CDocTemplate *GetNextDocTemplate( POSITION & pos ) const;
第二个函数返回由pos 标识的文档模板。POSITION是MFC定义的一个用于迭代或对象指针检索的值。通过这两个函数,应用程序可以遍历整个文档模板列表。如果被检索的文档模板是模板列表中的最后一个,则pos参数被置为NULL。
12)一个文档模板可以有多个文档,每个文档模板都保留并维护了一个所有对应文
档的指针列表。
用CDocTemplate::GetFirstDocPosition函数获得与文档模板相关的文档集合中第一
个文档的位置,并用POSITION值作为CDocTemplate::GetNextDoc的参数来重复遍历与模板相关的文档列表。函数原形为:
viaual POSITION GetFirstDocPosition( ) const = 0;
visual CDocument *GetNextDoc(POSITION & rPos) const = 0;
如果列表为空,则rPos被置为NULL.
13)在文档中可以调用CDocument::GetDocTemplate获得指向该文档模板的指针。
函数原形如下: CDocTemplate * GetDocTemplate ( ) const;
如果该文档不属于文档模板管理,则返回值为NULL。
Kudeet 2007-01-26
  • 打赏
  • 举报
回复
看看下面的图解文章
http://www.ebook520.com/showbooktext.asp?id=2865
j805 2007-01-26
  • 打赏
  • 举报
回复
有了思路,解决后给分,请大家稍等几天.
yjgx007 2007-01-25
  • 打赏
  • 举报
回复
牙医正解!
LanceBoy 2007-01-25
  • 打赏
  • 举报
回复
楼主只要找到一个文当的指针就行
DentistryDoctor 2007-01-25
  • 打赏
  • 举报
回复
CWinApp::GetFirstDocTemplatePosition
CWinApp::GetNextDocTemplate
zjh824 2007-01-25
  • 打赏
  • 举报
回复
theApp.m_pDocManager->GetFirstDocTemplatePosition();
CDocTemplate::GetFirstDocPosition();
没有用过,不过应该可以的吧.
j805 2007-01-25
  • 打赏
  • 举报
回复
如,在文档模板1的视图中做了更改,怎么样告诉文档模板2的文档更新数据?

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧