화면 출력에 필요한 모든 정보(폰트, 선 굵기, 색상 등)를 가지는 데이터 구조체
GDI모듈에 의해서 관리된다.
화면 출력에 필요한 모든 경우는 WINAPI에서는 DC를 통해서 작업을 진행할 수 있다.
HBRUSH brush = CreateSolidBrush(RGB(0, 0, 255)); // 파랑 브러쉬 생성
HBRUSH oldBrush = (HBRUSH)SelectObject(hdc, brush); // 파랑 브러쉬 DC에 선택, 흰색 브러쉬 반환
Rectangle(hdc, 100, 100, 300, 300); // 파랑 배경의 사각형 생성
SelectObject(hdc, oldBrush); // 원본 브러쉬 선택
DeleteObject(brush) // 파랑 브러쉬 삭제
HPEN redPen = CreatePen(PS_SOLID, 2, RGB(255, 0, 0)); // 빨강 펜 생성
HPEN oldPen = SelectObject(hdc, redPen); // 빨강 펜 DC에 선택
Ellipse(hdc, 100, 100, 300, 300); // 빨강 선의 원 생성
SelectObject(hdc, oldPen); // 원본 펜 선택
DeleteObject(redPen) // 빨강 펜 삭제
기본적으로 자주 사용되는 GDI오브젝트는 미리 DC안에 만들어져 있는데, 그 오브젝트들을 스톡오브젝트(StockObject)라고 한다.
HBRUSH grayBrush = (HBRUSH)GetStockObject(GRAY_BRUSH); // 회색 브러쉬 생성