SelectObject - [Daliy APIs]

SelectObject

 

该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。

原型:

HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);

参数:

hdc:[in] 设备上下文环境的句柄。

hgdiobj:[in] 被选择的对象的句柄,该指定对象必须由如下的函数创建。

 对象

 函数

 Bitmap

 CreateBitmap, CreateCompatibleBitmap, CreateDIBSection
 位图只能被选入内存DC,并且每次只能被选入一个DC

 Brush  

 CreateDIBPatternBrushPt, CreatePatternBrush, CreateSolidBrush 

 Font   

 CreateFontIndirect 

 Pen    

 CreatePen, CreatePenIndirect 

 Region 

 CombineRgn, CreateRectRgn, CreateRectRgnIndirect 


返回值:

   如果选择对象不是区域,那么返回值是被取代的对象的句柄代表函数执行成功;

   如果选择对象是区域,下面的值代表函数执行成功,

       · SIMPLEREGION:区域由单个矩形组成;

       · COMPLEXREGION:区域由多个矩形组成。

       · NULLREGION:区域为空。

   如果发生错误并且选择对象不是一个区域,那么返回值为NULL,否则返回GDI_ERROR。

说明:

   该函数返回先前指定类型的选择对象,一个应用程序在它使用新对象进行绘制完成之后,应该用新对象替换原始的缺省的对象。

   应用程序不能同时选择一个位图到多个设备上下文环境中。 

 

参考例子: 

HBITMAP hbFile = SHLoadImageFile(path);
BITMAP bmp;
GetObject(hbFile, sizeof(bmp), &bmp);
// Select new object handle to DC
HGDIOBJ hOld = SelectObject(hdc, hbFile);

// do something as you will

// Restore the original object
SelectObject(hdc, hOld); 

 

参考:

互动百科:SelectObject 

MSDN: SelectObject

 


posted on 2010-01-20 14:18  listenlisten  阅读(605)  评论(0编辑  收藏  举报

导航