GDI 오브젝트
GDI 오브젝트란 그래픽 출력에 사용되는 도구를 말하며 펜, 브러시, 비트맵, 폰트 등등이 모두 GDI 오브젝트이다. 사람이 그림을 그릴 때 연필, 붓 등의 도구를 사용하는 것과 마찬가지로 GDI가 그래픽을 출력할 때는 GDI 오브젝트를 사용한다. 즉 선을 그을 때는 펜으로 그리며 면은 브러시로 채우고 문자열을 출력할 때는 폰트를 사용한다. GDI 오브젝트를 모아 놓은 것이 DC이며 GDI는 현재 Dc에 선택되어 있는 GDI 오브젝트를 사용한다. 그래서 사용자는 그래픽을 그리기 전에 DC에 적절한 오브젝트를 선택함으로써 원하는 모양과 속성으로 그래픽을 출력할 수 있다.
GDI 오브젝트 |
핸들 타입 |
설명 |
디폴트 |
펜 |
HPEN |
선을 그을 때 사용된다. |
검정색의 가는 실선 |
브러시 |
HBRUSH |
면을 채울 때 사용된다. |
흰색 |
폰트 |
HFONT |
문자 출력에 사용되는 글꼴 |
시스템 글꼴 |
비트맵 |
HBITMAP |
비트맵 이미지 |
선택되지 않음 |
팔레트 |
HPALETTE |
팔레트 |
선택되지 않음 |
리전 |
HRGN |
화면상의 영역 |
선택되지 않음 |
스톡 오브젝트
스톡 오브젝트는 윈도우즈가 기본적으로 제공하는 GDI 오브젝트를 말한다. 아주 빈번하게 사용되므로 운영체제가 부팅할 때부터 미리 만들어 놓는다. 우리가 일부러 만들지 않아도 언제든지 사용할 수 있으며 사용하고 난 후에 파괴할 필요도 없다.
HGDIOBJ GetStockObject(int fnObject);
위의 함수를 통해 핸들을 얻어 사용하기만 하면 된다.
fnObject |
설명 |
BLACK_BRUSH |
검정색 브러시 |
GRAY_BRUSH |
회색 브러시 |
NULL_BRUSH |
투명 브러시 |
WHITE_BRUSH |
흰색 브러시 |
DKGRAY_BRUSH |
짙은 회색 브러시 |
LTGRAY_BRUSH |
옅은 회색 브러시 |
DC_BRUSH |
색상 브러시. SetDCBrushColor 함수로 설정한다. |
BLACK_PEN |
검정색 펜 |
WHITE_PEN |
흰색 펜 |
NULL_PEN |
투명 펜 |
DC_PEN |
색상 펜 SetDCPenColor 함수로 설정한다. |
ANSI_FIXED_FONT |
고정폭 폰트 |
ANSI_VAR_FONT |
가변폭 폰트 |
DEFAULT_PALETTE |
시스템 팔레트 |
주로 무채색의 브러시와 펜만 제공되며 원색 브러시는 직접 만들어 써야한다. DC_BRUSH, DC_PEN 스톡 오브젝트는 2000이상에서만 사용할 수 있는데 별도의 함수로 색상을 변경할 수 있어 편리하지만 95/98에서는 지원하지 않으므로 함부로 사용하기는 힘들다.
출처 - 윈도우즈 정복 WINAPI 1권
'Program Languege > WinAPI' 카테고리의 다른 글
QueryPerformance (0) | 2014.04.10 |
---|---|
PeekMessage (0) | 2014.04.10 |
GetKeyState & GetAsyncState (0) | 2014.03.29 |
HINSTANCE (0) | 2014.03.25 |
HANDLE (0) | 2014.03.25 |