다음을 통해 공유


EXTLOGPEN 구조체(wingdi.h)

EXTLOGPEN 구조체는 확장 펜의 펜 스타일, 너비 및 브러시 특성을 정의합니다. 이 구조체는 ExtCreatePen 함수라는 애플리케이션에서 만든 펜에 대한 설명을 검색할 때 GetObject 함수에서 사용됩니다.

구문

typedef struct tagEXTLOGPEN {
  DWORD     elpPenStyle;
  DWORD     elpWidth;
  UINT      elpBrushStyle;
  COLORREF  elpColor;
  ULONG_PTR elpHatch;
  DWORD     elpNumEntries;
  DWORD     elpStyleEntry[1];
} EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN;

멤버

elpPenStyle

펜 유형, 스타일, 끝 캡 스타일 및 조인 스타일의 조합입니다. 각 범주의 값은 적절한 마스크와 함께 비트 AND 연산자를 사용하여 검색할 수 있습니다.

PS_TYPE_MASK 마스킹된 elpPenStyle 멤버에는 다음 펜 형식 값 중 하나가 있습니다.

의미
PS_GEOMETRIC 펜은 기하학적입니다.
PS_COSMETIC 펜은 화장품입니다.
 

PS_STYLE_MASK 마스킹된 elpPenStyle 멤버에는 다음 펜 스타일 값 중 하나가 있습니다.

의미
PS_DASH 펜이 파선입니다.
PS_DASHDOT 펜에는 번갈아 가며 대시와 점이 있습니다.
PS_DASHDOTDOT 펜에는 번갈아 대시와 이중 점이 있습니다.
PS_DOT 펜이 점선으로 표시됩니다.
PS_INSIDEFRAME 펜은 단색입니다. 경계 사각형을 사용하는 GDI 그리기 함수에서 이 펜을 사용하면 그림의 크기가 축소되어 펜의 너비를 고려하여 경계 사각형에 완전히 맞습니다. 이는 PS_GEOMETRIC 펜에만 적용됩니다.
PS_NULL 펜이 보이지 않습니다.
PS_SOLID 펜은 단색입니다.
PS_USERSTYLE 펜은 사용자가 제공하는 스타일 배열을 사용합니다.
 

다음 범주는 PS_GEOMETRIC 펜에만 적용됩니다. PS_ENDCAP_MASK 마스킹된 elpPenStyle 멤버에는 다음 끝 상한 값 중 하나가 있습니다.

의미
PS_ENDCAP_FLAT 줄 끝 대문자는 평평합니다.
PS_ENDCAP_ROUND 줄 끝 대문자는 둥근 모양입니다.
PS_ENDCAP_SQUARE 선 끝 대문자는 정사각형입니다.
 

다음 범주는 PS_GEOMETRIC 펜에만 적용됩니다. PS_JOIN_MASK 마스킹된 elpPenStyle 멤버에는 다음 조인 값 중 하나가 있습니다.

의미
PS_JOIN_BEVEL 꺾은선형 조인은 경사입니다.
PS_JOIN_MITER 선 조인은 SetMiterLimit 함수에 의해 설정된 현재 제한 내에 있을 때 완화됩니다. 조인은 한도를 초과할 때 비정상 상태가 됩니다.
PS_JOIN_ROUND 선 조인은 둥글습니다.

elpWidth

펜의 너비입니다. elpPenStyle 멤버가 PS_GEOMETRIC 경우 이 값은 논리 단위로 된 줄의 너비입니다. 그렇지 않으면 선이 코스메틱이고 이 값은 1이며 너비가 1픽셀인 선을 나타냅니다.

elpBrushStyle

펜의 브러시 스타일입니다. elpBrushStyle 멤버 값은 다음 중 하나일 수 있습니다.

의미
BS_DIBPATTERN DIB 사양으로 정의된 패턴 브러시를 지정합니다. elpBrushStyle이 BS_DIBPATTERN 경우 elpHatch 멤버는 압축된 DIB에 대한 핸들을 포함합니다. 자세한 내용은 elpHatch의 토론을 참조하세요.
BS_DIBPATTERNPT DIB 사양으로 정의된 패턴 브러시를 지정합니다. elpBrushStyle이 BS_DIBPATTERNPT 경우 elpHatch 멤버는 압축된 DIB에 대한 포인터를 포함합니다. 자세한 내용은 elpHatch의 토론을 참조하세요.
BS_HATCHED 부화 브러시를 지정합니다.
BS_HOLLOW 빈 브러시 또는 NULL 브러시를 지정합니다.
BS_PATTERN 메모리 비트맵으로 정의된 패턴 브러시를 지정합니다.
BS_SOLID 단색 브러시를 지정합니다.

elpColor

elpBrushStyle이 BS_SOLID 또는 BS_HATCHED 경우 elpColor는 펜을 그릴 색을 지정합니다. BS_HATCHED 경우 SetBkModeSetBkColor 함수는 배경색을 결정합니다.

elpBrushStyle이 BS_HOLLOW 또는 BS_PATTERN 경우 elpColor는 무시됩니다.

elpBrushStyle이 BS_DIBPATTERN 또는 BS_DIBPATTERNPT 경우 elpColor의 하위 단어는 BITMAPINFO 구조체의 bmiColors 멤버가 현재 실현된 논리 팔레트에 명시적 RGB 값 또는 인덱스를 포함하는지 여부를 지정합니다. elpColor 값은 다음 중 하나여야 합니다.

의미
DIB_PAL_COLORS 색 테이블은 현재 실현된 논리 팔레트에 16비트 인덱스의 배열로 구성됩니다.
DIB_RGB_COLORS 색 테이블에는 리터럴 RGB 값이 포함되어 있습니다.
 

RGB 매크로는 COLORREF 구조를 생성하는 데 사용됩니다.

elpHatch

elpBrushStyle이 BS_PATTERN 경우 elpHatch는 패턴을 정의하는 비트맵에 대한 핸들입니다.

elpBrushStyle이 BS_SOLID 또는 BS_HOLLOW 경우 elpHatch는 무시됩니다.

elpBrushStyle이 BS_DIBPATTERN 경우 elpHatch 멤버는 압축된 DIB에 대한 핸들입니다. 이 핸들을 가져오기 위해 애플리케이션은 GMEM_MOVEABLE(또는 LMEM_MOVEABLE 있는 LocalAlloc)을 사용하여 GlobalAlloc 함수를 호출하여 메모리 블록을 할당한 다음, 메모리를 압축된 DIB로 채웁니다. 압축된 DIB는 비트맵의 픽셀을 정의하는 바이트 배열 뒤에 즉시 BITMAPINFO 구조체로 구성됩니다.

elpBrushStyle이 BS_DIBPATTERNPT 경우 elpHatch 멤버는 압축된 DIB에 대한 포인터입니다. 포인터는 LMEM_FIXED 집합을 사용하여 LocalAlloc 에서 만든 메모리 블록 또는 GMEM_FIXED 설정된 GlobalAlloc 에서 파생되거나 LocalLock (handle_to_the_dib)과 같은 호출에서 반환되는 포인터입니다. 압축된 DIB는 비트맵의 픽셀을 정의하는 바이트 배열 뒤에 즉시 BITMAPINFO 구조체로 구성됩니다.

elpBrushStyle이 BS_HATCHED 경우 elpHatch 멤버는 해치를 만드는 데 사용되는 선의 방향을 지정합니다. 다음 값 중 하나일 수 있습니다.

의미
HS_BDIAGONAL 45도 위쪽 해치(왼쪽에서 오른쪽)
HS_CROSS 가로 및 세로 크로스해치
HS_DIAGCROSS 45도 크로스해치
HS_FDIAGONAL 45도 아래쪽 해치(왼쪽에서 오른쪽)
HS_HORIZONTAL 가로 해치
HS_VERTICAL 세로 해치

elpNumEntries

elpStyleEntry 멤버의 스타일 배열에 있는 항목 수입니다. elpPenStyle이 PS_USERSTYLE 지정하지 않으면 이 값은 0입니다.

elpStyleEntry[1]

사용자가 제공한 스타일 배열입니다. 배열은 한정된 길이로 지정되지만 무기한 반복되는 것처럼 사용됩니다. 배열의 첫 번째 항목은 첫 번째 대시의 길이를 지정합니다. 두 번째 항목은 첫 번째 간격의 길이를 지정합니다. 그 후 대시 및 간격의 길이가 대체됩니다.

elpWidth가 기하학적 선을 지정하면 길이가 논리 단위로 표시됩니다. 그렇지 않으면 선이 외관이고 길이가 디바이스 단위로 표시됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 wingdi.h(Windows.h 포함)

추가 정보

BITMAPINFO

COLORREF

ExtCreatePen

GetObject

펜 구조체

펜 개요

RGB

SetBkColor

SetBkMode