다음을 통해 공유


CPen::CPen

CPen 개체를 생성합니다.

CPen( ); 
CPen( 
   int nPenStyle, 
   int nWidth, 
   COLORREF crColor  
); 
CPen( 
   int nPenStyle, 
   int nWidth, 
   const LOGBRUSH* pLogBrush, 
   int nStyleCount = 0, 
   const DWORD* lpStyle = NULL  
);

매개 변수

  • nPenStyle
    펜 스타일을 지정합니다. 이 매개 변수는 생성자의 첫 번째 버전에는 다음 값 중 하나가 될 수 있습니다.

    • PS_SOLID 실선 펜을 만듭니다.

    • PS_DASH 파선된 펜을 만듭니다. 펜 너비 단위 1이 하, 장치에서 경우에 유효 합니다.

    • PS_DOT 점선된 펜을 만듭니다. 펜 너비 단위 1이 하, 장치에서 경우에 유효 합니다.

    • PS_DASHDOT 대체 파선과 점선 펜을 만듭니다. 펜 너비 단위 1이 하, 장치에서 경우에 유효 합니다.

    • PS_DASHDOTDOT 대체 이중 점선 및 파선 펜을 만듭니다. 펜 너비 단위 1이 하, 장치에서 경우에 유효 합니다.

    • PS_NULL 는 null 펜을 만듭니다.

    • PS_INSIDEFRAME 프레임의 경계 사각형을 지정 하는 Windows GDI 출력 함수에서 생성 된 닫힌된 셰이프 안쪽에 선을 그립니다 하는 펜을 만듭니다 (예를 들어 있는 타원, 사각형, RoundRect, Pie, 및 Chord 멤버 함수). 이 스타일에서 사용 되는 경계 사각형을 지정 하지 않은 Windows GDI 출력 함수 때 (예를 들어,는 LineTo 멤버 함수), 펜 드로잉 영역에 프레임으로 제한 되지 않습니다.

    두 번째 버전은 CPen 생성자 형식, 스타일, 엔드 캡 및 조인 특성의 조합을 지정 합니다. 각 항목의 값은 비트 OR 연산자 (|)를 사용 하 여 결합할 수 있습니다. 펜 종류는 다음 값 중 하나가 될 수 있습니다.

    • PS_GEOMETRIC 기 펜을 만듭니다.

    • PS_COSMETIC 는 성형 펜을 만듭니다.

      두 번째 버전은 CPen 생성자에 대 한 다음 펜 스타일 추가 nPenStyle.

    • PS_ALTERNATE 다른 모든 픽셀을 설정 하는 펜을 만듭니다. (이 스타일 코스메틱 펜에만 적용 됩니다.)

    • PS_USERSTYLE 사용자가 제공 하는 스타일 배열을 사용 하 여 펜을 만듭니다.

      엔드 캡을 다음 값 중 하나가 될 수 있습니다.

    • PS_ENDCAP_ROUND 상판의 라운드입니다.

    • PS_ENDCAP_SQUARE 상판의 정사각형입니다.

    • PS_ENDCAP_FLAT 상판의 평면입니다.

      조인 다음 값 중 하나가 될 수 있습니다.

    • PS_JOIN_BEVEL 조인 된 경사진.

    • PS_JOIN_MITER 조인 수 mitered 제한을 설정 하 현재 내 경우는 SetMiterLimit 함수입니다. 조인이이 제한을 초과 하면이 경사진입니다.

    • PS_JOIN_ROUND 조인 라운드 됩니다.

  • nWidth
    펜의 너비를 지정합니다.

    • 생성자의 첫 번째 버전에 대 한이 값이 0 이면 장치 단위 너비를 1 픽셀 매핑 모드에 관계 없이 항상입니다.

    • 생성자의 두 번째 버전의 경우 nPenStyle 입니다 PS_GEOMETRIC, 너비는 논리 단위로 지정 됩니다. 경우 nPenStyle 는 PS_COSMETIC, 너비는 1로 설정 해야 합니다.

  • crColor
    RGB 색을 펜을 들어 있습니다.

  • pLogBrush
    가리키는 있는 LOGBRUSH 구조. 경우 nPenStyle 입니다 PS_COSMETIC, lbColor 소속은 LOGBRUSH 구조 펜의 색을 지정 하는 lbStyle 소속은 LOGBRUSH 구조를 설정 해야 BS_SOLID. 경우 nPenStyle 는 PS_GEOMETRIC, 펜 브러시 특성의 모든 멤버를 사용 해야 합니다.

  • nStyleCount
    더블 워드 단위 길이를 지정 된 lpStyle 배열 합니다. 이 값은 0이 여야 합니다 nPenStyle 수 없습니다 PS_USERSTYLE.

  • lpStyle
    더블 워드 값의 배열 가리킵니다. 첫 번째 값에서 사용자 정의 스타일 첫 번째 대시의 길이 지정, 두 번째 값의 첫 번째 공백 등의 길이 지정 합니다. 이 포인터가 있어야 NULL 경우 nPenStyle 수 없습니다 PS_USERSTYLE.

설명

생성자는 인수 없이 사용 하는 경우 결과 초기화 해야 CPen 개체에 CreatePen, CreatePenIndirect, 또는 CreateStockObject 멤버 함수입니다.

다음 인수를 사용 하는 생성자를 사용 하는 경우 초기화 없음 필요 합니다. 인수 없는 생성자는 항상 성공 하는 동안 오류가 발견 되 면 생성자 인수를 예외가 throw 할 수 있습니다.

예제

// Create a solid red pen of width 2.
CPen myPen1(PS_SOLID, 2, RGB(255,0,0));

// Create a geometric pen.
LOGBRUSH logBrush;
logBrush.lbStyle = BS_SOLID;
logBrush.lbColor = RGB(0,255,0);
CPen myPen2(PS_DOT|PS_GEOMETRIC|PS_ENDCAP_ROUND, 2, &logBrush);

요구 사항

헤더: afxwin.h

참고 항목

참조

CPen 클래스

계층 구조 차트

CPen::CreatePen

CPen::CreatePenIndirect

CGdiObject::CreateStockObject