调用 GetDC(NULL) 返回什么类型的 DC?

Nat*_*man 5 winapi gdi

Windows API 函数GetDC()接受单个参数:

温德

要检索其 DC 的窗口的句柄。如果此值为 NULL,则 GetDC 检索整个屏幕的 DC。

在页面下方,注意到以下内容:

使用普通 DC 绘制后,ReleaseDC必须调用该函数以释放 DC。不必释放类和私有 DC。ReleaseDC必须从调用GetDC. DC 的数量仅受可用内存的限制。

不幸的是,不清楚是否需要调用ReleaseDC()屏幕 DC,因为在任何地方都没有提到它的类型。事实上,这个页面描述了五种类型的 DC;但他们都没有提到“屏幕”。

我需要ReleaseDC()在屏幕 DC上呼叫吗?

Jon*_*ter 5

屏幕 DC 不是类 DC,也不是私有 DC,所以是的 - 它需要被释放。

  • 请注意,在类和私有 DC 上调用 `ReleaseDC()` 是安全的。这对他们来说是无操作的。 (2认同)