【发布时间】:2021-06-02 01:57:56
【问题描述】:
Windows API 函数GetDC() 接受单个参数:
hWnd
要检索其 DC 的窗口句柄。如果此值为 NULL,GetDC 将检索整个屏幕的 DC。
在页面的下方,注意以下内容:
使用普通DC绘制后,必须调用
ReleaseDC函数释放DC。不必发布类和私有 DC。ReleaseDC必须从调用GetDC的同一线程中调用。 DC 的数量仅受可用内存的限制。
不幸的是,对于屏幕 DC,是否需要调用 ReleaseDC() 尚不清楚,因为它的类型在任何地方都没有提及。事实上,this page 描述了五种类型的 DC;但他们都没有提到“屏幕”。
我需要在屏幕 DC 上拨打ReleaseDC() 吗?
【问题讨论】:
-
通过排除过程,屏幕 DC 不能是 Class、Private、Window 或 Parent DC,所以它必须是 Common DC,必须释放。