2014-06-17 90 views
0

我正在使用函數CDC::Rectangle,它使用邏輯座標。 但我想知道我畫的區域有多大,所以我可以例如繪製10%區域寬度的矩形。邏輯單元的CDC區域大小?

如何從CDC獲取座標系統的尺寸?

+0

只需將寬度除以10即可得到所需的部分寬度,當然仍然以邏輯座標表示。 – MSalters

+0

@ MSalters,但是當我們有100%時如何確定矩形尺寸(佔據所有繪圖區域)? – mrgloom

回答

1

不管你信不信,Windows設備上下文不跟蹤的邊界它所連接的對象。 GetBoundsRect可能會給你一些有用的東西,或者它可能不會,這取決於具體情況。使用CWnd對象並調用GetClientRect是最可靠的方法。

0

只有當您的映射模式不是MM_TEXT時,邏輯座標才重要,在這種情況下,您需要使用CDC::LPtoDP

您應該能夠使用示例中的鏈接在你的問題,只是
而不是rect.DeflateRect(20, 20);
使用rect.right /= 10; rect.bottom /= 10;