Структура EXTLOGPEN определяет стиль пера, толщину и атрибуты кисти для улучшенного пера. Эта структура используется функцией GetObject тогда, когда она извлекает данные об описании пера, которое создавалось, когда приложение вызвало функцию ExtCreatePen.
Синтаксис
typedef struct tagEXTLOGPEN { DWORD elpPenStyle; DWORD elpWidth; UINT elpBrushStyle; COLORREF elpColor; ULONG_PTR elpHatch; DWORD elpNumEntries; DWORD elpStyleEntry[1]; } EXTLOGPEN, *PEXTLOGPEN; |
Устанавливает комбинацию типа пера, стиля, стиля оконечивающего элемента и стиля соединения линий. Значения из каждой категории могут извлекаться, используя побитовый оператор И - AND с соответствующей маской.
Значение | Предназначение |
---|---|
|
Перо - геометрическое. |
|
Перо- косметическое. |
Значение | Предназначение |
---|---|
|
Перо является штриховым. |
|
Перо имеет чередующиеся пунктиры и точки. |
|
Перо имеет чередующиеся пунктиры и двойные точки. |
|
Перо является точечным. |
|
|
|
Перо является невидимым. |
|
Перо является сплошным. |
|
Перо использует массив моделирования, предоставленный пользователем. |
Значение | Предназначение |
---|---|
|
Завершение линии - плоскость. |
|
Завершение линии - окружность. |
|
Завершение линии - квадрат. |
Значение | Предназначение |
---|---|
|
Соединения линии усеченные. |
|
Соединения линии заостряются, когда они находятся внутри текущего ограничения, установленного функцией SetMiterLimit. Соединение скашивается, когда оно выходит за пределы ограничения. |
|
Соединения линии закругляются. |
elpBrushStyle
Значение | Предназначение |
---|---|
|
|
|
|
|
Устанавливает штриховую кисть. |
|
Устанавливает пустоту или пустую (ПУСТО) кисть. |
|
Устанавливает узорную кисть, определяемую точечным рисунком в памяти. |
|
Устанавливает сплошную кисть. |
Если 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 |
Нет |
Замечания по платформе |
Не имеется |