CreatePen 함수(wingdi.h)

CreatePen 함수는 지정된 스타일, 너비 및 색이 있는 논리 펜을 만듭니다. 이후에 펜을 디바이스 컨텍스트로 선택하고 선과 곡선을 그리는 데 사용할 수 있습니다.

구문

HPEN CreatePen(
  [in] int      iStyle,
  [in] int      cWidth,
  [in] COLORREF color
);

매개 변수

[in] iStyle

펜 스타일입니다. 다음 값 중 하나일 수 있습니다.

의미
PS_SOLID
펜이 단단합니다.
PS_DASH
펜이 파선입니다. 이 스타일은 펜 너비가 디바이스 단위에서 하나 이하인 경우에만 유효합니다.
PS_DOT
펜이 점선으로 표시됩니다. 이 스타일은 펜 너비가 디바이스 단위에서 하나 이하인 경우에만 유효합니다.
PS_DASHDOT
펜에는 번갈아 가며 대시와 점이 있습니다. 이 스타일은 펜 너비가 디바이스 단위에서 하나 이하인 경우에만 유효합니다.
PS_DASHDOTDOT
펜에는 번갈아 가며 대시와 이중 점이 있습니다. 이 스타일은 펜 너비가 디바이스 단위에서 하나 이하인 경우에만 유효합니다.
PS_NULL
펜이 보이지 않습니다.
PS_INSIDEFRAME
펜이 단단합니다. 경계 사각형을 사용하는 GDI 그리기 함수에서 이 펜을 사용하면 펜의 너비를 고려하여 경계 사각형에 완전히 맞도록 그림의 크기가 축소됩니다. 이는 기하학적 펜에만 적용됩니다.

[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

추가 정보

COLORREF

CreatePenIndirect

DeleteObject

ExtCreatePen

GetObject

펜 함수

펜 개요

RGB

Selectobject