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 경우 SetBkMode 및 SetBkColor 함수는 배경색을 결정합니다.
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 포함) |