CreatePen 함수(wingdi.h)
CreatePen 함수는 지정된 스타일, 너비 및 색이 있는 논리 펜을 만듭니다. 이후에 펜을 디바이스 컨텍스트로 선택하고 선과 곡선을 그리는 데 사용할 수 있습니다.
HPEN CreatePen(
[in] int iStyle,
[in] int cWidth,
[in] COLORREF color
);
[in] iStyle
펜 스타일입니다. 다음 값 중 하나일 수 있습니다.
[in] cWidth
펜의 너비(논리적 단위)입니다. nWidth가 0이면 펜은 현재 변환에 관계없이 단일 픽셀 너비입니다.
CreatePen 은 지정된 너비의 펜을 반환하지만 PS_SOLID 스타일을 사용하여 PS_DASH, PS_DOT, PS_DASHDOT, PS_DASHDOTDOT 스타일에 대해 너비를 1보다 크게 지정하면 반환됩니다.
[in] color
펜 색에 대한 색 참조입니다. COLORREF 구조를 생성하려면 RGB 매크로를 사용합니다.
함수가 성공하면 반환 값은 논리 펜을 식별하는 핸들입니다.
함수가 실패하면 반환 값은 NULL입니다.
애플리케이션이 논리 펜을 만든 후 SelectObject 함수를 호출하여 해당 펜을 디바이스 컨텍스트로 선택할 수 있습니다. 펜을 디바이스 컨텍스트로 선택한 후 선과 곡선을 그리는 데 사용할 수 있습니다.
nWidth 매개 변수로 지정된 값이 0이면 생성된 펜으로 그린 선은 현재 변환에 관계없이 항상 단일 픽셀 너비입니다.
nWidth에 지정된 값이 1보다 큰 경우 fnPenStyle 매개 변수는 PS_NULL, PS_SOLID 또는 PS_INSIDEFRAME 합니다.
nWidth에서 지정한 값이 1보다 크고 fnPenStyle이 PS_INSIDEFRAME 경우 펜과 연결된 선은 다각형 및 다각형을 제외한 모든 기본 형식의 프레임 안에 그려집니다.
nWidth로 지정된 값이 1보다 크고 fnPenStyle이 PS_INSIDEFRAME crColor 매개 변수에 지정된 색이 논리 팔레트의 항목 중 하나와 일치하지 않는 경우 시스템은 디더링된 색을 사용하여 선을 그립니다. 단색 펜에서는 디더링된 색을 사용할 수 없습니다.
대시 또는 점 사이의 간격을 투명하게 만들기 위해 PS_DASH, PS_DOT, PS_DASHDOT 또는 PS_DASHDOTDOT iStyle 매개 변수를 사용하는 경우 SetBkMode 를 사용하여 모드를 TRANSPARENT로 설정합니다.
펜이 더 이상 필요하지 않으면 DeleteObject 함수를 호출하여 삭제합니다.
Icm: 만들 때 색 관리가 수행되지 않습니다. 그러나 펜을 ICM 지원 디바이스 컨텍스트로 선택하면 색 관리가 수행됩니다.
예제는 색이 지정된 펜 및 브러시 만들기를 참조하세요.
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | wingdi.h(Windows.h 포함) |
라이브러리 | Gdi32.lib |
DLL | Gdi32.dll |