函数功能:
SelectObject 函数用于选择一对象到指定的设备环境中,该新对象将替换先前的相同类型的对象。
API 函数原型:
注释:_In_ 说明该参数是输入的。
HGDIOBJ SelectObject( _In_ HDC hdc, _In_ HGDIOBJ hgdiobj );
参数解析:
|
参数 |
含义 |
|
hdc |
指定设备环境句柄 |
|
hgdiobj |
1. 被选择的对象的句柄 |
hgdiobj 参数的对象必需由以下的函数创建:
|
对象 |
函数 |
|
位图 |
CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection |
|
画刷 |
CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush |
|
字体 |
CreateFont, CreateFontIndirect |
|
画笔 |
CreatePen, CreatePenIndirect |
|
区域 |
CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect |
返回值:
1. 如果选择对象不是区域并且函数调用成功,那么返回值是被取代的对象的句柄;
2. 如果选择对象是区域并且函数执行成功,返回以下值之一:
|
值 |
含义 |
|
SIMPLEREGION |
区域由单个矩形组成 |
|
COMPLEXREGION |
区域由多个矩形组成 |
|
NULLREGION |
区域为空 |
3. 如果发生错误并且选择对象不是一个区域,那么返回值为 NULL,否则返回 HGDI_ERROR。
备注:
1. 该函数返回先前指定类型的选择对象。
2. 一个应用程序在它使用新对象进行绘制完成之后,应该用原始的默认对象替换新对象。
3. 应用程序不能同时选择一个位图到多个设备环境中。
4. ICM:如果被选择的对象是画笔或笔,那么就执行颜色管理。




