CRect クラス

更新 : 2007 年 11 月

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

class CRect : public tagRECT

解説

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

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

h58f4c7y.alert_note(ja-jp,VS.90).gifメモ :

このクラスは 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 オブジェクトでもかまいません。

h58f4c7y.alert_note(ja-jp,VS.90).gifメモ :

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

必要条件

ヘッダー : atltypes.h

スマート デバイス開発者のためのメモ

このクラスは、スマート デバイス プロジェクトではサポートされません。

参照

参照

階層図

CPoint クラス

CSize クラス

RECT 構造体

その他の技術情報

CRect のメンバ