我可以从GetDC(NULL)中为DC选择字体吗



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

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

我通常会使用GetDC(hwnd)来获取DC并在其中选择字体。但是,如果我还没有hwnd,我可以在GetDC(NULL)返回的DC中选择字体吗?

编辑:相关。我想这可能没有什么区别!GetDC(NULL)获取主监视器还是虚拟屏幕?

您不拥有屏幕DC,也不应该在其中选择对象。您可以使用CreateCompatibleDC,传递屏幕DC,获得一个可以执行文本度量计算的DC。

最新更新