我有一个MFC SDI应用程序,我想从一个单独的对话框访问文档区,这样我就可以在上面绘制一些东西。下面是我想要访问的内容:
void CProjView::OnDraw(CDC* pDC)
或者更好的是,我希望直接从对话框中绘制文档视图。我该怎么做呢?
发布于 2012-02-28 00:18:57
如果要在文档中绘制某些内容,则可能会在文档中绘制该内容。获取指向CDocument类的指针并调用CDocument::UpdateAllViews。它将依次调用CView::OnUpdate。您将在那里设置一个标志并调用Invalidate()。OnDraw()现在将用新对象重新绘制屏幕,因为您设置了告诉它这样做的标志。
还有其他方法,你可以只抓取客户区的设备上下文并开始绘图,但那里的问题是,如果你最小化窗口并恢复它,新的绘画将会丢失。实际上,您在OnDraw()函数之外所做的任何操作都将丢失。因此,您必须在OnDraw()函数中完成所有绘制,上面就是如何使用文档/视图体系结构系统地进行绘制。
https://stackoverflow.com/questions/9437347
复制相似问题