分享好友 天南地北首页 网站导航

什么是SelectObject

网友 2023-09-16 15:18 · 头闻号教育培训

最佳答案:

SelectObject,计算机编程语言函数,该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。

详情介绍

SelectObject,计算机编程语言函数,该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。

中文名
SelectObject
hdc
设备上下文环境的句柄
hgdiobj
被选择的对象的句柄
Windows NT
3.1及以上版本
函数功能
该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。
函数原型
HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj)
字体
CreateFont, CreateFontIndirect。
笔
CreatePen, CreatePenIndirect。
SIMPLEREGI
区域由单个矩形组成
COMPLEXREG
区域由多个矩形组成
NULLREGION
区域为空
ICM
如果被选择的对象是画笔或笔,那么就执行颜色管理
3.1及以上版本
Windows
95及以上版本
Windows CE
1.0及以上版
头文件:wingdi.h
库文件
gdi32.lib

SelectObject位图

CreateBitmap, CreateBitmapIndirect, CreateCompatible Bitmap, CreateDIBitmap, CreateDIBsection(只有内存设备上下文环境可选择位图,并且在同一时刻只能一个设备上下文环境选择位图)。

SelectObject画刷

CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush。

SelectObject区域

CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect。

SelectObject返回值

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

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

SelectObject注释

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

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

SelectObject示例

HDC hdc=GetDC(hwnd);

HDC memdc=CreateCompatibleDC(hdc);

RECT rc;

BITMAP bmp;

HBITMAP holdbmp,hbmp=LoadBitmap(hInstDVBRes,MAKEINTRESOURCE(IDB_CLOCK));//从资源加载位图

holdbmp=(HBITMAP)SelectObject(memdc,hbmp);//这里把hbmp的位图选择到兼容DC memdc,之后这个兼容DC就拥有和

//hbmp同样大小的绘图区域,注意超出位图返回的GDI输出都是无效的.

GetObject(hbmp,sizeof(BITMAP),&bmp);//这里获取位图的大小信息,事实上也是兼容DC绘图输出的范围

SetRect(&rc,0,0,bmp.bmWidth,bmp.bmHeight);

DrawText(memdc,"Center Line Text" -1,&rc,DT_VCENTER|DT_SINGLELINE|DT_CENTER);//在兼容DC中间位置输出字符串

//这样以来我们就相当于把hbmp这个位图加上了文字标注,我们可以把这个增加了文字标注的位图保存起来.一个简单的图像处理基本就OK了.

SelectObject(memdc,holdbmp);//复原兼容DC数据.

DeleteDC(memdc);

免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报

举报
反对 0
打赏 0
更多相关文章

收藏

点赞