The SelectObject function selects an object into the specified device context. The new object replaces the previous object of the same type.
HGDIOBJ SelectObject(
| HDC hdc, | // handle of device context |
| HGDIOBJ hgdiobj | // handle of object |
| ); |
Parameters
hdc
Identifies the device context.
hgdiobj
Identifies the object to be selected. The specified object must have been created by using one of the following functions:
| Object | Functions |
| Bitmap | CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection |
| (Bitmaps can be selected for memory device contexts only, and for only one device context at a time.) | |
| Brush | CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush |
| Font | CreateFont, CreateFontIndirect |
| Pen | CreatePen, CreatePenIndirect |
| Region | CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect |
Return Values
If the selected object is not a region and the function succeeds, the return value is the handle of the object being replaced. If the selected object is a region and the function succeeds, the return value is one of the following values:
| Value | Meaning |
| SIMPLEREGION | Region consists of a single rectangle. |
| COMPLEXREGION | Region consists of more than one rectangle. |
| NULLREGION | Region is empty. |
If an error occurs and the selected object is not a region, the return value is NULL. Otherwise, it is GDI_ERROR.
Remarks
This function returns the previously selected object of the specified type. An application should always replace a new object with the original, default object after it has finished drawing with the new object.
An application cannot select a bitmap into more than one device context at a time.
See Also
CombineRgn, CreateBitmap, CreateBitmapIndirect, CreateBrushIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBPatternBrush, CreateEllipticRgn, CreateEllipticRgnIndirect, CreateFont, CreateFontIndirect, CreateHatchBrush, CreatePatternBrush, CreatePen, CreatePenIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateSolidBrush, SelectClipRgn, SelectPalette