본문 바로가기

Programming/API

GDI 오브젝트

GDI 오브젝트

그래픽 출력에 사용되는 도구를 말하며, 펜, 브러시, 비트맵, 폰트 등 GDI 오브젝트이다.

사용자는 그래픽을 출력하기 전에 DC에 원하는 오브젝트를 선택하여 그래픽을 다른 모양으로 변경 할 수 있다.


GDI 오브젝트핸들 타입디폴트
HPEN검정색의 가는 선
브러시HBRUSH흰색
폰트HFONT시스템 글꼴
비트맵HBITMAP
팔레트HPALETTE
영역HRGN


스톡 오브젝트

윈도우즈가 기본적으로 제공해 주는 GDI 오브젝트이다. 운영체제에서 기본적으로 제공하다보니 사용하고 제거 할 필요가 없다.


HGDIOBJ GetStockObject( int fnObject );


이 함수를 이용하여 핸들을 얻어서 사용 하는데 fnObject 부분에 스톡 오브젝트를 입력해주면된다.


fnObject설명
BLACK_BRUSH검정색 브러쉬
GRAY_BRUSH 회색 브러쉬
NULL_BRUSH투명 브러쉬
WHITE_BRUSH흰색 브러쉬
DKGRAY_BRUSH짙은 회색 브러쉬
LTGRAY_BRUSH얕은 회색 브러쉬
BLACK_PEN검정색 펜
WHITE_PEN흰색 펜
NULL_PEN투명 펜
ANSI_FIXED_FONT 고정폭 폰트
ANSI_VAR_FONT가변폭 폰트
DEAFAULT_PALETTE시스템 팔레트


HGDIOBJ SelectObject( Hdc hdc, HGDIOBJ bgdiobj );


첫번째 인자에 DC의 핸들을 주고 두번째 인자에 GDI 오브젝트 핸들을 주면 DC에 해당 오브젝트를 선택 해준다.



Soen강좌(http://www.soen.kr/lecture/win32api/lec6/lec6-1-2.htm)에서 보면 다음 예제가 나오는데 두개의 브러시 핸들을 선언한 후에 MyBrush에 GetStockObject함수를 이용해 회색 브러쉬 핸들을 얻고 OldBrush에 SlectObject함수를 이용하여 DC에 GDI 오브젝트를 선택 하고있다. 회색 브러쉬를 선택 하고 사각형을 그렸기때문에 회색 사각형이 나온다.

'Programming > API' 카테고리의 다른 글

그리기 모드  (0) 2013.08.27
펜과 브러시  (0) 2013.08.23
리소스  (0) 2013.08.16
WM_SIZE 메시지와 WM_MOVE 메시지  (0) 2013.08.14
타이머  (0) 2013.08.14