次の方法で共有


CRect::DeflateRect

更新 : 2007 年 11 月

DeflateRect は各辺を中心方向に移動することによって CRect を縮小します。

void DeflateRect( 
   int x, 
   int y  
) throw( );
void DeflateRect( 
   SIZE size  
) throw( );
void DeflateRect( 
   LPCRECT lpRect  
) throw( );
void DeflateRect( 
   int l, 
   int t, 
   int r, 
   int b  
) throw( );

パラメータ

  • x
    CRect の右辺と左辺を縮小させるための単位数。

  • y
    CRect の上辺と下辺を縮小させるための単位数。

  • size
    CRect を縮小させるための単位数を指定する SIZE または CSize。cx 値は右辺と左辺を縮小させるための単位数を指定し、cy 値は上辺と下辺を縮小させるための単位数を指定します。

  • lpRect
    各辺を縮小させるための単位数を指定する RECT 構造体または CRect

  • l
    CRect の左辺を縮小させるための単位数。

  • t
    CRect の上辺を縮小させるための単位数。

  • r
    CRect の右辺を縮小させるための単位数。

  • b
    CRect の下辺を縮小させるための単位数。

解説

DeflateRect は左辺と上辺に単位数を加算し、右辺と下辺から単位数を減算することにより縮小します。DeflateRect のパラメータは符号付きの値です。正の値は CRect を縮小し、負の値は拡大します。

最初の 2 つのオーバーロードは、CRect の向かい合った辺をそれぞれ縮小するので、全体の幅は x (または cx) の 2 倍、全体の高さは y (または cy) の 2 倍減少します。ほかの 2 つのオーバーロードは、CRect の各辺を対になる辺とは独立して縮小します。

使用例

CRect rect(10, 10, 50, 50);

rect.DeflateRect(1, 2);

ASSERT(rect.left == 11 && rect.right == 49);
ASSERT(rect.top == 12 && rect.bottom == 48);

CRect rect2(10, 10, 50, 50);
CRect rectDeflate(1, 2, 3, 4);

rect2.DeflateRect(&rectDeflate);
ASSERT(rect2.left == 11 && rect2.right == 47);
ASSERT(rect2.top == 12 && rect2.bottom == 46);   

必要条件

ヘッダー : atltypes.h

参照

参照

CRect クラス

階層図

CRect::InflateRect

CRect::operator -

CRect::operator -=

InflateRect

その他の技術情報

CRect のメンバ