【发布时间】:2013-11-27 15:20:57
【问题描述】:
所以,我不断收到断言失败:
_AFXWIN_INLINE CDC* CWnd::GetDC()
{ ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
而且我检查了调用堆栈,上面方法之前调用的方法是:
CDC *pDC = GetDC();
我不确定其中有什么问题,但我需要一些帮助。谢谢!
【问题讨论】:
-
你能多发一点上下文吗?看起来
m_hWnd很糟糕,但没有看到它是如何创建的,所以这只是一个猜测。 -
已经有一段时间了,但如果我没记错的话,如果您在 OnPaint 中获取 DC,则需要创建一个 CPaintDC。但是在调用 GetDC 时需要更多上下文
-
@Servé
CPaintDC是一种便利,而不是必需品。不需要任何应用程序来实例化CPaintDC。