Share via


CRect クラス

Windows の RECT 構造体と同様のものです。

class CRect : public tagRECT

解説

CRect クラスも、CRect オブジェクトや Windows の RECT 構造体を操作するメンバー関数を持っています。

CRect オブジェクトは、関数パラメーターに RECT 構造体や、LPCRECTLPRECT が渡せるところにはどこにでも使用できます。

注意

このクラスは tagRECT 構造体から派生したものです (tagRECT という名前は、RECT 構造体ではほとんど使用されていません)。これは RECT 構造体のデータ メンバー (lefttopright、および、bottom) が、CRect のアクセス可能なデータ メンバーであることを意味しています。

CRect は四角形の左上隅と右下隅を定義するメンバー変数を持っています。

CRect を指定するときには、正規化 (左の座標値が右より小さく、上の座標値が下より小さくなるように) して構築するよう注意する必要があります。 たとえば、左上が (10,10) で右下が (20,20) で定義されていれば正規化された四角形ですが、左上が (20,20) で右下が (10,10) で定義されている四角形は正規化されていません。 四角形が正規化されていないと、大部分の CRect メンバー関数は誤った結果を返します (これらの関数リストについては、CRect::NormalizeRect を参照してください)。正規化された四角形を必要とする関数を呼び出す前に、NormalizeRect 関数を呼び出すことで、正規化されていない四角形を正規化できます。

CDC::DPtoLPCDC::LPtoDP メンバー関数で CRect を操作するときは、注意が必要です。 ディスプレイ コンテキストのマップ モードが MM_LOENGLISH で y エクステントが負の値のとき、CDC::DPtoLP は上が下より大きくなるように CRect を変換します。 HeightSize 関数は、変換された CRect の高さとして負の値を返し、四角形は正規化されません。

オーバーロードされた CRect 演算子を使うときは、最初のオペランドは必ず CRect である必要があります。2 番目は RECT 構造体でも CRect オブジェクトでもかまいません。

注意

CRect などの共有ユーティリティ クラスの詳細については、「共有クラス」を参照してください。

必要条件

**ヘッダー:**atltypes.h

参照

参照

階層図

CPoint クラス

CSize クラス

RECT 構造体

その他の技術情報

CRect のメンバー