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