펜
선을 그릴 때 사용되는 GDI 오브젝트이다. 펜을 변경하여 여러 모양으로 선을 그릴 수 있다.
윈도우즈에서 제공하는 스톡 펜은 흰색, 검정색, 투명색 뿐이다. 다른 색의 펜을 사용 하고 싶다면 직접 만들어서 사용하여야 한다.
HPEN CreatePen(int fnPenStyle, int nWidth, COLORREF crColor);
첫번째 인자 fnPenStyle은 선의 모양을 나타내는 것으로 이 값을 이용하여 다양한 모양의 선을 만들수 있다.
PS_SOLID | PS_DASH | PS_DOT | PS_DASHDOT | PS_DASHDOTDOT |
두번째 인자 nWidth는 선의 폭을 정한다. 기본 선의 굵기는 1이고 변경하여 두꺼운 선을 그릴 수 있다.
세번째 인자 crColor는 선의 색상을 정해준다. COLORREF형으로 RGB 매크로 함수를 사용한다.
CreatePen 함수를 이용하여 GDI 오브젝트를 사용한 후에는 메모리를 사용하기 때문에 사용이 끝나게 되면 메모리 할당을 해제 시켜 줘야한다.
BOOL DeleteObject( HGDIOBJ hObject );
삭제하려는 GDI 오브젝트 핸들만 넣어주면 된다. DC에서 현재 선택되어 있는 GDI 오브젝트는 삭제 할 수 없기 때문에 SelectObject함수를 이용하여 선택을 해제 시켜주고 메모리를 해제 해주면 된다.
브러시
브러시는 면을 채워주는 역할을 한다. 스톡 브러시에는 회색, 흰색, 검정색이 있고 펜과 마찬가지로 브러시를 생성할 수 있다.
HBRUSH CreateSolidBrush( COLORREF crColor );
단색의 브러시를 만들때 사용하며, 펜을 만들때 처럼 색상을 넣어주면된다.
HBRUSH CreateHatchBrush( int fnStyle, COLORREF clrref );
색상과 무늬를 같이 지정할 수 있는 함수이다. 첫번째 인자 fnStyle 부분에 넣으면 다음 무늬들을 줄 수 있다.
HS_BDIAGONAL | 좌하향 줄무늬 |
HS_CROSS | 바둑판 모양 |
HS_DIACROSS | 좌하향 및 우하향 줄무늬 |
HS_FDIAGONAL | 우하향 줄무늬 |
HS_HORIZONTAL | 수평선 |
HS_VERTICAL | 수직선 |
역시나 브러시 역시 DeleteObject 함수를 이용하여 사용을 마치고 메모리를 해제 시켜줘야한다.
'Programming > API' 카테고리의 다른 글
스레드 생성 함수 (0) | 2013.09.30 |
---|---|
그리기 모드 (0) | 2013.08.27 |
GDI 오브젝트 (0) | 2013.08.22 |
리소스 (0) | 2013.08.16 |
WM_SIZE 메시지와 WM_MOVE 메시지 (0) | 2013.08.14 |