Структура EXTLOGPEN


Структура EXTLOGPEN определяет стиль пера, толщину и атрибуты кисти для улучшенного пера. Эта структура используется функцией GetObject тогда, когда она извлекает данные об описании пера, которое создавалось, когда приложение вызвало функцию ExtCreatePen.

Синтаксис

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

Члены структуры

elpPenStyle

Устанавливает комбинацию типа пера, стиля, стиля оконечивающего элемента и стиля соединения линий. Значения из каждой категории могут извлекаться, используя побитовый оператор И - AND с соответствующей маской.

Член структуры elpPenStyle , маскированный флажком PS_TYPE_MASK имеет одно из ниже перечисленных значений типа пера.
Значение Предназначение
PS_GEOMETRIC
Перо - геометрическое.
PS_COSMETIC
Перо- косметическое.
Член структуры elpPenStyle , маскированный флажком PS_STYLE_MASK имеет одно из ниже перечисленных значений стиля пера:
Значение Предназначение
PS_DASH
Перо является штриховым.
PS_DASHDOT
Перо имеет чередующиеся пунктиры и точки.
PS_DASHDOTDOT
Перо имеет чередующиеся пунктиры и двойные точки.
PS_DOT
Перо является точечным.
PS_INSIDEFRAME
Перо является сплошным. Когда это перо используется в какой-либо функции рисования GDI, которая получает прямоугольник ограничения, размеры фигуры сжимаются так, чтобы она поместилась полностью в прямоугольнике ограничения, принимая во внимание толщину пера. Это применяется только к PS_GEOMETRIC перьям.
PS_NULL
Перо является невидимым.
PS_SOLID
Перо является сплошным.
PS_USERSTYLE
Перо использует массив моделирования, предоставленный  пользователем.
Ниже перечисленные категории применяются только к PS_GEOMETRIC перьям. Член структуры elpPenStyle, маскированный с PS_ENDCAP_MASK имеет одно из ниже перечисленных значений оконечивающего элемента.
Значение Предназначение
PS_ENDCAP_FLAT
Завершение линии - плоскость.
PS_ENDCAP_ROUND
Завершение линии -  окружность.
PS_ENDCAP_SQUARE
Завершение линии - квадрат.
Ниже перечисленная категория применяется только с перьями PS_GEOMETRIC. Член структуры elpPenStyle , маскированный флажком PS_JOIN_MASK, имеет одно из ниже перечисленных значений соединения.
Значение Предназначение
PS_JOIN_BEVEL
Соединения линии  усеченные.
PS_JOIN_MITER
Соединения линии заостряются, когда они находятся внутри текущего ограничения, установленного функцией SetMiterLimit. Соединение скашивается, когда оно выходит за пределы ограничения.
PS_JOIN_ROUND
Соединения линии закругляются.
 
elpWidth
Устанавливает толщину пера. Если член структуры elpPenStyle - PS_GEOMETRIC, это значение - толщина линии в логических единицах измерения. В противном случае, линии являются косметическими, а это значение - 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
Устанавливает пустоту или пустую (ПУСТО) кисть.
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 определяет, содержат ли члены bmiColors структуры BITMAPINFO чистые значения  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). Чтобы применить этот дескриптор, прикладная программа вызывает функцию GlobalAlloc с флажком GMEM_MOVEABLE (или LocalAlloc с LMEM_MOVEABLE), чтобы назначить блок памяти, а затем заполняет память сжатым форматом 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.

elpStyleEntry

Устанавливает введенный пользователем массив стиля. Массив задается с конечной длиной, но используется как бесконечно повторяемый. Первая запись в массиве определяет длину первого пунктира. Вторая запись определяет длину первого промежутка. После этого, длины пунктиров и промежутков чередуются.

Если elpWidth определяет геометрические линии, длины измеряются в логических единицах измерения. В противном случае, линии являются косметическими, а длины измеряются в единицах измерения устройства (пикселях).

Смотри также

Обзор Перья, Структуры, используемые перьями, BITMAPINFO, COLORREF, ExtCreatePen, GetObject, GlobalAlloc, RGB, SetBkColor, SetBkMode

Размещение и совместимость EXTLOGPEN

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

-

Заголовочный файл

 

- объявлено в

Wingdi.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz