CWnd的ReleaseDC从winuser中覆盖ReleaseDC

时间:2015-12-31 03:19:21

标签: c++ mfc

我创建了一个简单的应用程序,将opengl与MFC结合使用。问题是我有以下代码

ReleaseDC(m_hWnd,m_hDC);

根据https://msdn.microsoft.com/en-us/library/windows/desktop/dd162920(v=vs.85).aspx

,这似乎是正确的

即使是知识分子告诉我,我正在选择正确的功能

问题是,一旦我输入ReleaseDC函数,编译器会自动查找此处引用的CWnd :: ReleaseDC https://msdn.microsoft.com/en-us/library/ek0dh9wd.aspx。显然这给了我一个编译错误。我不太了解mfc,欢迎任何帮助。

我正在使用visual studio 2015更新1。

1 个答案:

答案 0 :(得分:1)

您可能从CWnd派生类型的成员函数内部调用ReleaseDC(m_hWnd,m_hDC);,该函数声明成员函数ReleaseDC

要调用全局命名空间ReleaseDC,您必须对其进行适当的限定:

::ReleaseDC(m_hWnd,m_hDC);