-
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);
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:21次歷史版本
- 最近更新: 一生的爱1207