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 |