GetDC(hwnd)和GetDC(NULL)有什么区别?我知道后者会获得整个(虚拟)屏幕的DC,但是我不确定这实际上意味着什么。

我想根据使用的字体设置初始窗口的大小。我使用CreateFontIndirect来创建字体句柄,但是,我认为,只有当您将该字体选择为DC的SelectObject时,才能使用GetTextMetrics来计算实际使用的高度,而不是指定的高度。我假设它们可能不相同。

我通常会使用GetDC(hwnd)获取DC并选择字体。但是,鉴于我还没有hwnd,我可以将字体选择到GetDC(NULL)返回的DC中吗?

编辑:相关。我想可能没什么关系! GetDC(NULL) gets primary monitor or virtual screen?

最佳答案

您不是屏幕DC的所有者,也不应该在其中选择对象。您可以使用CreateCompatibleDC传递屏幕DC,以获取一个DC,您可以在其中执行文本指标计算。

08-29 01:12