【问题标题】:MFC - Accessing DocumentView OnDraw(CDC* pDC) Method GloballyMFC - 全局访问 DocumentView OnDraw(CDC* pDC) 方法
【发布时间】:2012-02-24 20:09:51
【问题描述】:

我有一个 MFC SDI 应用程序,我想从一个单独的对话框访问文档区域,以便在其上绘制一些东西。这是我想要访问的内容:

void CProjView::OnDraw(CDC* pDC)

或者更好的是,我想直接从对话框中绘制文档视图。我该怎么做?

【问题讨论】:

    标签: mfc draw ondraw sdi


    【解决方案1】:

    如果您想在文档中绘制一些东西,那么它可能应该在您的文档中。获取指向 CDocument 类的指针并调用 CDocument::UpdateAllViews。它反过来会调用CView::OnUpdate。您将在那里设置一个标志并调用Invalidate()OnDraw() 现在将使用新对象重绘屏幕,因为您设置了指示它这样做的标志。

    还有其他方法可以获取客户区的设备上下文并开始绘制,但问题是如果您最小化窗口并将其恢复回来,新的绘制将会丢失。事实上,您在 OnDraw() 函数之外所做的任何事情都会丢失。因此,您必须在 OnDraw() 函数中进行所有绘图,以上是如何使用 doc/view 架构系统地进行绘图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 2013-03-05
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多