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

什么是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
更多相关文章

收藏

点赞