SelectObject函数

SelectObject

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

  函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);

  参数:

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

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

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

  画笔:CreateBrushIndirect,
CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush。

  字体:CreateFont,
CreateFontIndirect。

  笔:CreatePen,
CreatePenIndirect。

  区域:CombineRgn,
CreateEllipticRgn, CreateEllipticRgnIndirect,
CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect。

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

  SIMPLEREGION:区域由单个矩形组成;COMPLEXREGION:区域由多个矩形组成。NULLREGION:区域为空。如果发生错误并且选择对象不是一个区域,那么返回值为NULL,否则返回GDI_ERROR。

SelectObject函数,布布扣,bubuko.com

时间: 2024-08-27 15:34:39

SelectObject函数的相关文章

SelectObject()函数

SelectObject 把一个对象(位图.画笔.画刷等)选入指定的设备描述表.新的对象代替同一类型的老对象. HGDIOBJ SelectObject(   HDC hdc,         // handle to DC   HGDIOBJ hgdiobj  // handle to object ); 参数 hdc 设备描述表句柄(要载入的设备描述表句柄) hgdiobj 选择要载入的对象的句柄 但该对象的句柄必须使用以下函数创建才有效: Bitmap(位图)          Creat

SelectObject()函数详解

SelectObject 把一个对象(位图.画笔.画刷等)选入指定的设备描述表.新的对象代替同一类型的老对象. HGDIOBJ SelectObject(   HDC hdc,          // handle to DC   HGDIOBJ hgdiobj   // handle to object ); 参数 hdc 设备描述表句柄(要载入的设备描述表句柄) hgdiobj 选择要载入的对象的句柄 但该对象的句柄必须使用以下函数创建才有效: Bitmap(位图)          Cre

Windows API一日一练 29 SelectObject和DeleteObject函数

Windows显示设备的属性,共有下面几种:位图.画刷.字体.画笔.区域.如果要设置它们到当前设备里,就需要使用SelectObject函数,比如上面介绍的字体设置,就会用到这个函数.当你创建一个位图时,这时Windows就会在内存里分配一块内存空间,用来保存位图的数据.当你创建字体时,也会分配一块内存空间保存字体.如果程序只是分配,而不去删除,就会造成内存使用越来越多,最后导到Windows这幢大楼倒下来.如果你忘记删除它,就造成了内存泄漏.因此,当你创建显示设备资源时,一定要记得删除它们啊,

常用GDI函数(1):绘制线条和图形

1. CDC::SetPixel()用来绘制一个像素点. 使用Win32 API函数: HDC hdc = ::GetDC(m_hWnd);//获得窗口的设备描述表 ::SetPixel(hdc, 100, 200, RGB(255, 0, 0)); ::ReleaseDC(m_hWnd, hdc);//释放DC资源 CDC::MoveTo(),CDC::LineTo()用来绘制直线. 使用CDC类: CDC* pDC = GetDC();//获得与当前窗口相关联的DC对象 pDC->MoveT

VC API常用函数简单例子大全[转]

第一个:FindWindow根据窗口类名或窗口标题名来获得窗口的句柄,该函数返回窗口的句柄 函数的定义:HWND WINAPI FindWindow(LPCSTR lpClassName ,LPCSTR lpWindowName); 第一个参数填窗口的类名,第二个填窗口的标题名,其实是不需要同时填两个参数的,也就是说,你只要知道窗口的类名或窗口的标题就可以了,没有的那个就用NULL代替. 比如现在有一个窗口名为"无标题.txt - 记事本"的记事本程序.那么我就可以用上面的函数获得这个

常用GDI函数(2):绘制文本

1.TextOut()和DrawText()函数 CDC::TextOut()使用当前字体在窗口的指定位置处输出文本,函数声明: virtual BOOL TextOut(int x, int y, LPCTSTR lpszString, int nCount); BOOL TextOut(int x, int y, const CString& str); CPaintDC dc(this); dc.TextOut(0, 100, _T("hello word"), 5);

Windows应用程序

  Windows应用程序是由一系列的消息处理 代码来实现的.这和传统的过程式编程方法很不一样,编程者只能够 预测用户所利用应用程序用户界面对象所进行的操作以及为这些操作 编写处理代码,却不可以这些操作在什么时候发生或者是以什么顺序 来发生,也就是说,我们不可能知道什么消息会在什么时候以什么顺 序来临. Windows应用程序基本流程:   Windows API:(windowsAppliacation Programming Interface. Windows 应用程序编程接口), API

15.windows绘图(二)

1.GDI绘图对象 - 画笔 (1)作用 线的颜色.线型.线粗 (2)使用 a.创建句柄 HPEN CreatePen( int              fnPenStyle,  //画笔的样式 int              nWidth,      //画笔的粗细 COLORREF  crColor);     //画笔的颜色 成功,返回画笔句柄 画笔样式:PS_SOLID - 实线,可支持多个像素宽,其他线型只能是一个像素宽 PS_DASH - 虚线 PS_DOT - 点线 PS_DA

绘制文本

本课中,我们将学习如何在窗口的客户区“绘制”字符串.我们还将学习关于“设备环境”的概念. 理论: Windows 中的文本是一个GUI(图形用户界面)对象.每一个字符实际上是由许多的像素点组成,这些点在有笔画的地方显示出来,这样就会出现字符.这也是为什么我说“绘制”字符,而不是写字符.通常您都是在您应用程序的客户区“绘制”字符串(尽管您也可以在客户区外“绘制”).Windows 下的“绘制”字符串方法和 Dos 下的截然不同,在 Dos 下,您可以把屏幕想象成 85 x 25 的一个平面,而 W