MFC SDI 访问 DOC 视图

Posted

技术标签:

【中文标题】MFC SDI 访问 DOC 视图【英文标题】:MFC SDI access View from DOC 【发布时间】:2013-07-19 07:06:06 【问题描述】:

我是 MFC SDI 应用程序的新手。在我的 CMyDOC.cpp 中喜欢访问 CMyView.cpp 中的功能。最好和最干净的方法是什么?以及相反的方向。

【问题讨论】:

【参考方案1】:

Doc->View:如果你只想让一个视图连接到文档,你可以使用类似的东西:

CMyView* pView = NULL;
POSITION pos = GetFirstViewPosition();
if (pos != NULL)
    pView = (CMyView*) GetNextView(pos);

查看->文档:

CMyDoc* pDoc = GetDocument();

【讨论】:

【参考方案2】:

MFC 推荐的方式是不要直接从 CDocument 访问 CView。如果您必须这样做,您应该重新考虑您的设计,因为通常您的视图会访问文档,而不是其他方式。您应该使用UpdateAllViews 机制让您的视图知道文档中的更改。

【讨论】:

以上是关于MFC SDI 访问 DOC 视图的主要内容,如果未能解决你的问题,请参考以下文章

MFC, SDI app, 为啥视图的布局不能通过代码改变?

在 sdi view MFC 中重新绘制区域(区域)

在 MFC 中拥有一个简单视图和一个拆分视图

C++ MFC SDI 创建子窗口

C++ MFC SDI 复制/粘贴不起作用

MFC 拆分器窗口中的多个文档/视图