CRect クラス
更新 : 2007 年 11 月
Windows の RECT 構造体と同様のものです。
class CRect : public tagRECT
解説
CRect クラスも、CRect オブジェクトや Windows の RECT 構造体を操作するメンバ関数を持っています。
CRect オブジェクトは、関数パラメータに RECT 構造体や、LPCRECT、LPRECT が渡せるところにはどこにでも使用できます。
メモ : |
---|
このクラスは tagRECT 構造体から派生したものです (tagRECT という名前は、RECT 構造体ではほとんど使用されていません)。これは RECT 構造体のデータ メンバ (left、top、right、および、bottom) が、CRect のアクセス可能なデータ メンバであることを意味しています。 |
CRect は四角形の左上隅と右下隅を定義するメンバ変数を持っています。
CRect を指定するときには、正規化 (左の座標値が右より小さく、上の座標値が下より小さくなるように) して構築するよう注意する必要があります。たとえば、左上が (10,10) で右下が (20,20) で定義されていれば正規化された四角形ですが、左上が (20,20) で右下が (10,10) で定義されている四角形は正規化されていません。四角形が正規化されていないと、大部分の CRect メンバ関数は誤った結果を返します (これらの関数リストについては、CRect::NormalizeRect を参照してください)。正規化された四角形を必要とする関数を呼び出す前に、NormalizeRect 関数を呼び出すことで、正規化されていない四角形を正規化できます。
CDC::DPtoLP や CDC::LPtoDP メンバ関数で CRect を操作するときは、注意が必要です。ディスプレイ コンテキストのマップ モードが MM_LOENGLISH で y エクステントが負の値のとき、CDC::DPtoLP は上が下より大きくなるように CRect を変換します。Height や Size 関数は、変換された CRect の高さとして負の値を返し、四角形は正規化されません。
オーバーロードされた CRect 演算子を使うときは、最初のオペランドは必ず CRect である必要があります。2 番目は RECT 構造体でも CRect オブジェクトでもかまいません。
メモ : |
---|
CRect などの共有ユーティリティ クラスの詳細については、「共有クラス」を参照してください。 |
必要条件
ヘッダー : atltypes.h
スマート デバイス開発者のためのメモ
このクラスは、スマート デバイス プロジェクトではサポートされません。