我正在使用函数CDC::Rectangle,它使用逻辑坐标。 但我想知道我绘制的区域有多大,所以我可以绘制10%面积宽度的矩形。
如何从CDC获得坐标系的尺寸?
答案 0 :(得分:1)
信不信由你,Windows设备上下文不会跟踪它附加的对象的边界。根据具体情况,GetBoundsRect
可能会给你一些有用的东西,也可能不会。使用CWnd对象并调用GetClientRect
是最可靠的方法。
答案 1 :(得分:0)
使用GetClientRect获取窗口的客户端大小(即窗口的绘图空间)。
答案 2 :(得分:0)
仅当您的映射模式不是MM_TEXT
时,逻辑坐标才很重要,在这种情况下,您需要使用CDC::LPtoDP。
您应该能够在问题中的链接中使用该示例,除了该
而不是rect.DeflateRect(20, 20);
使用rect.right /= 10; rect.bottom /= 10;