CDC::SelectObject
デバイス コンテキストに対してオブジェクトを選択します。
CPen* SelectObject(
CPen* pPen
);
CBrush* SelectObject(
CBrush* pBrush
);
virtual CFont* SelectObject(
CFont* pFont
);
CBitmap* SelectObject(
CBitmap* pBitmap
);
int SelectObject(
CRgn* pRgn
);
CGdiObject* SelectObject(
CGdiObject* pObject
);
パラメーター
pPen
選択する CPen オブジェクトへのポインター。pBrush
選択する CBrush オブジェクトへのポインター。pFont
選択する CFont オブジェクトへのポインター。pBitmap
選択する CBitmap オブジェクトへのポインター。pRgn
選択する CRgn オブジェクトへのポインター。pObject
選択する CGdiObject オブジェクトへのポインター。
戻り値
置き換えられるオブジェクトへのポインター。 これは使用する関数の形式によって決まる、CPen のような CGdiObject クラスからの派生クラスのオブジェクトの 1 つへのポインターです。 エラーが発生した場合は NULL を返します。 この関数は、一時オブジェクトへのポインターを返すこともあります。 この一時オブジェクトは、1 つの Windows メッセージを処理している間だけ有効です。 詳細については、「CGdiObject::FromHandle」を参照してください。
パラメーターに領域を指定する形式のメンバー関数は、SelectClipRgn メンバー関数と同じタスクを実行します。 戻り値は以下のいずれかです。
COMPLEXREGION 新しいクリップ領域には、重なり合った境界線があります。
ERROR デバイス コンテキストまたは領域が無効です。
NULLREGION 新しいクリップ領域は空です。
SIMPLEREGION 新しいクリップ領域には重なり合う境界線がありません。
解説
CDC クラスでは、ペン、ブラシ、フォント、ビットマップ、領域の 5 つの GDI オブジェクトを特定して選択する形式があります。 新しく選択されたオブジェクトは、同じタイプの直前のオブジェクトと置き換えられます。 たとえば、一般的な形式の SelectObject のパラメーター pObject が CPen オブジェクトを指しているときは、pObject で指定されたペンで現在のペンを置き換えます。
ビットマップはメモリ デバイス コンテキストだけに選択でき、同時に複数のメモリ デバイス コンテキストに対しては選択できません。 ビットマップのフォーマットは、モノクロかデバイス コンテキストに互換性のあるものである必要があります。それ以外の場合は、SelectObject 関数はエラーを返します。
Windows 3.1 以降では、メタファイルで使っても SelectObject 関数は同じ値を返します。 以前のバージョンの Windows では、メタファイルで使われた場合は、成功したときは 0 以外の値を、それ以外は 0 を返します。
必要条件
**ヘッダー:**afxwin.h