관리 메뉴

ㄴrㅎnㅂrㄹrㄱi

SelectObject 본문

API 관련/Win32 API 함수

SelectObject

님투 2007. 11. 8. 23:23
반응형

SelectObject

지정된 디바이스 콘텍스트의 오브젝트를 선택합니다.새로운 오브젝트는, 이전의 같은 형태의 오브젝트와 바꿔 넣을 수 있습니다.

HGDIOBJ SelectObject(
    HDC     hDC,     // 디바이스 콘텍스트의 핸들
    HGDIOBJ hObject  // 선택하는 오브젝트의 핸들
);

GDI32.DLL

인수

hDC

디바이스 콘텍스트의 핸들을 지정합니다.

hObject

선택하는 오브젝트를 지정합니다.지정할 수 있는 오브젝트는 이하의 몇개의 함수를 사용해 작성된 것이 아니면 안됩니다.

오브젝트 함수
비트 맵 CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBitmap, CreateDIBSection

비트 맵은 메모리데바이스콘테키스트에게만 선택시킬 수 있습니다.또, 동시에1개의 디바이스 콘텍스트 밖에 선택할 수 없습니다.

브러쉬 CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateHatchBrush, CreatePatternBrush, CreateSolidBrush
폰트 CreateFont, CreateFontIndirect
CreatePen, CreatePenIndirect
리젼 CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreateRectRgn, CreateRectRgnIndirect

반환값

리젼 이외의 오브젝트의 핸들이 지정되었을 경우에 함수가 성공하면, 바꿀 수 있기 전에 선택되고 있던 오브젝트의 핸들이 돌아갑니다.

리젼 이외의 오브젝트의 핸들이 지정되었을 경우에 함수가 실패하면 0 (NULL) 하지만 돌아갑니다.

리젼의 핸들이 지정되었을 경우는, 함수가 성공하면, 이하의 값중 한쪽이 돌아갑니다.

의미
1 (NULLREGION)

리젼은 하늘입니다.

2 (SIMPLEREGION)

리젼은 단일의 장방형입니다.

3 (COMPLEXREGION)

리젼은 단일의 장방형보다 복잡한 형태입니다.

에러가 발생했을 때, 지정된 핸들이 리젼의 핸들이 아닌 경우는 0 (NULL) 하지만 돌아갑니다.그 이외의 경우는 0xFFFFFFFF (GDI_ERROR) 하지만 돌아갑니다.

해설

이 함수는, 새로운 오브젝트와 같은 형태의 이전 선택되고 있던 오브젝트의 핸들을 돌려줍니다.어플리케이션은, 새로운 오브젝트를 사용해 끝내면, 이전의 오브젝트에 옮겨놓도록(듯이) 해야 합니다.

어플리케이션은,1개의 비트 맵 오브젝트를 동시에 복수의 디바이스 콘텍스트로 선택할 수 없습니다.

대응 정보

Windows 95 이후 / Windows NT 3.1 이후

반응형

'API 관련 > Win32 API 함수' 카테고리의 다른 글

SetClassLong(A)  (0) 2007.11.08
SendMessage(A)  (0) 2007.11.08
ScreenToClient  (0) 2007.11.08
RemoveMenu  (0) 2007.11.08
ReleaseMutex  (0) 2007.11.08
Comments