SelectObject

指定されたデバイスコンテキストのオブジェクトを選択します。新しいオブジェクトは、以前の同じ型のオブジェクトと入れ替えられます。

HGDIOBJ SelectObject(
    HDC     hDC,     // デバイスコンテキストのハンドル
    HGDIOBJ hObject  // 選択するオブジェクトのハンドル
);

GDI32.DLL

引数

hDC

デバイスコンテキストのハンドルを指定します。

hObject

選択するオブジェクトを指定します。指定できるオブジェクトは以下のいずれかの関数を使って作成されたものでなければなりません。

オブジェクト 関数
ビットマップ CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection

ビットマップはメモリデバイスコンテキストにのみ選択させることができます。また、同時に1つのデバイスコンテキストにしか選択できません。

ブラシ CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush
フォント CreateFont, CreateFontIndirect
ペン CreatePen, CreatePenIndirect
リージョン CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect

戻り値

リージョン以外のオブジェクトのハンドルが指定された場合に関数が成功すると、置きかえられる前に選択されていたオブジェクトのハンドルが返ります。

リージョン以外のオブジェクトのハンドルが指定された場合に関数が失敗すると 0 (NULL) が返ります。

リージョンのハンドルが指定された場合は、関数が成功すると、以下の値のいずれかが返ります。

意味
1 (NULLREGION)

リージョンは空です。

2 (SIMPLEREGION)

リージョンは単一の長方形です。

3 (COMPLEXREGION)

リージョンは単一の長方形よりも複雑な形です。

エラーが発生したとき、指定されたハンドルがリージョンのハンドルでない場合は 0 (NULL) が返ります。それ以外の場合は 0xFFFFFFFF (GDI_ERROR) が返ります。

解説

この関数は、新しいオブジェクトと同じ型の以前選択されていたオブジェクトのハンドルを返します。アプリケーションは、新しいオブジェクトを使い終えたら、以前のオブジェクトに置き換えるようにすべきです。

アプリケーションは、1つのビットマップオブジェクトを同時に複数のデバイスコンテキストで選択することはできません。

対応情報

Windows 95 以降 / Windows NT 3.1 以降