繁体   English   中英

CDC区域大小是否以逻辑单位表示?

[英]CDC area size in logical units?

我正在使用函数CDC :: Rectangle ,它使用逻辑坐标。 但是我想知道我要绘制的区域有多大,因此例如可以绘制10%区域宽度的矩形。

如何从CDC获取坐标系的尺寸?

信不信由你,Windows设备上下文不会跟踪其附加到的对象的边界。 根据情况, GetBoundsRect可能会为您提供有用的东西,也可能没有。 使用CWnd对象并调用GetClientRect是最可靠的方法。

使用GetClientRect获取窗口的客户端大小(即窗口的绘图空间)。

仅当映射方式不是MM_TEXT ,逻辑坐标才重要,在这种情况下,您将需要使用CDC :: LPtoDP

您应该可以使用问题链接中的示例,但以下情况除外:
而不是rect.DeflateRect(20, 20);
使用rect.right /= 10; rect.bottom /= 10; rect.right /= 10; rect.bottom /= 10;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM