次の方法で共有


CDC::SelectObject

更新 : 2007 年 11 月

デバイス コンテキストに対してオブジェクトを選択します。

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

参照

参照

CDC クラス

階層図

CGdiObject::DeleteObject

CGdiObject::FromHandle

CDC::SelectClipRgn

CDC::SelectPalette

SelectObject

その他の技術情報

CDC のメンバ